質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

597閲覧

【Rails】新規登録のCreateアクションが完了した際、別テーブルの値も一緒に変更したい。

nyako

総合スコア45

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2021/05/17 15:04

Rails APIモードにて開発しております。

Ruby

1### usersテーブル 2 3 4 def sign_up 5 user = User.new(signup_params) 6 if user.save 7 render json: { status: "Success", message: "会員登録に成功しました" } 8 else 9 render json: { status: "Error", message: "会員登録失敗しました" } 10 end 11 end 12 13 private 14 15 def signup_params 16 params.require(:user).permit(:name, :email, :password, :password_confirmation) 17 end

上記新規登録のコントローラーになります。

やりたいこと

こちらで新規登録は完了するのですが、
一緒に別テーブル(formテーブル)の
Submittedカラム(Boolean型)をTrueに変更したいと思っております。

ただCreateとUpdateの際はParamsメソッドであくまでもパラメーターをストロングパラメーターにて取得し、上記のような記述をするのは理解できるのですが、
同時に他のテーブルにデータを保存/更新はどのようにするのか中々調べても出てこなかったので質問させて頂きました。(RailsAPIということもありパラメーター内にSubmitted:Trueを持たせることはおそらく出来ません・・・。)

宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

解決したので残しておきます。

既にformテーブルはありました。そこでformテーブルの一部を変更するというのが質問内容でした。

一緒に登録したかったのはフォーム内のものではないので、findbyでレコード取得しcreateアクション内ですがupdateで既存テーブル(formテーブル)の変更に成功しました。

投稿2021/05/18 04:00

nyako

総合スコア45

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

新規登録 ということは 新規登録User に対応する Form はまだない、createの必要があるですね?
ですと Form.create( 登録Userと関連つける項目の設定, submitted: true) です。

投稿2021/05/17 23:25

winterboum

総合スコア23329

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nyako

2021/05/18 01:51

ご回答ありがとうございます! Formテーブルは既にございます。 2つ疑問点があるのですが、 1.Form Createでストロングパラメーターにしなくても大丈夫なのでしょうか? あともう一つ 登録Userと関連づける項目の設定とは具体的にはどの様な形でしょうか。 申し訳ないです。 宜しくお願い致します。
nyako

2021/05/18 04:00 編集

winterboum様ありがとうございます! ヒント頂き感謝しております。
winterboum

2021/05/18 05:11

いや、Fromテーブルの有無ではなく、そこに「新規登録したUser」に対応するレコードがないですね、という意味です。 「登録Userと関連づける項目」は、私にはわかりません。その情報が全くありませんから。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問