[解決済み] Railsです。railsでhas_oneアソシエーションを使ったbuildの使い方
2022-05-01 01:55:37
質問
この例では
user
を使用せず
profile
を作成し、後で
profile
をそのユーザーのために使用します。私はビルドを
has_one
の関連付けが必要ですが、これは吹き飛んでしまいました。これがうまくいく唯一の方法は
has_many
. その
user
は、最大で1つだけ持つことになっています。
profile
.
私はこれを試しています。私は持っています。
class User < ActiveRecord::Base
has_one :profile
end
class Profile < ActiveRecord::Base
belongs_to :user
end
でも、そうすると
user.build_profile
エラーが出ます。
ActiveRecord::StatementInvalid: Mysql::Error: Unknown column 'profiles.user_id' in 'where clause': SELECT * FROM `profiles` WHERE (`profiles`.user_id = 4) LIMIT 1
railsでアソシエーションを0か1かにする方法はありますか?
どのように解決するのですか?
その
build
メソッドのシグネチャは
has_one
と
has_many
の関連付けを行います。
class User < ActiveRecord::Base
has_one :profile
has_many :messages
end
のビルド構文は以下のとおりです。
has_many
を連想させる。
user.messages.build
のビルド構文は以下のとおりです。
has_one
を連想させる。
user.build_profile # this will work
user.profile.build # this will throw error
を読み取る。
has_one
アソシエーション
ドキュメント
をクリックすると詳細が表示されます。
関連
-
[解決済み] Railsです。NameError: 初期化されていない定数
-
[解決済み] heroku open - no app specified
-
[解決済み] デバイスを使用する現在のユーザーメソッド
-
[解決済み] AWS S3です。アクセスしようとしているバケットは、指定されたエンドポイントを使用してアドレスされている必要があります。
-
[解決済み] 変更欄のRailsマイグレーション
-
[解決済み] rspec 3 - クラスメソッドをスタブ化する
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] rails consoleを起動するとRailsのイニシャライザーが呼ばれる?
-
[解決済み] 属性を割り当てる場合、引数としてハッシュを渡す必要がある
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】修正方法:エラー:'<ファイル名>'にチェックアウトされたコミットがない fatal: コマンドプロンプトで "git add ." を入力するとファイルの追加に失敗する
-
[解決済み】取得中。「プロジェクトのクローンとマイグレート後に、「マイグレーションは保留中です。この問題を解決するには 'bin/rake db:migrate RAILS_ENV=development' を実行してください。
-
[解決済み】gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み】Rails 4 RoutingError: ルートが一致しない[POST]。
-
[解決済み] Mac OS Xにhomebrewがインストールされているかどうかを確認する方法
-
[解決済み] デバイスを使用する現在のユーザーメソッド
-
[解決済み] heroku push rejected, failed to compile Ruby/rails app
-
[解決済み] Rubyのクラスで未初期化の定数エラーが発生する
-
[解決済み] Ruby on rails アプリで ES6 (ES2015) を使用するにはどうすればよいですか?
-
[解決済み] インスタンスメソッドをモンキーパッチする場合、新しい実装からオーバーライドされたメソッドを呼び出すことは可能ですか?