学生の詳細を含む学生ビューを作成しようとしています。しかし、同じビューで、別のモデルの趣味(他のモデルとは別のモデル)から値を取り込むcollection_selectを追加する必要がありますRuby on rails:2つの無関係なモデルからのデータを含むビューをレンダリングする必要があります
私の質問は、学生/ id/new view?
これを行うにはfields_forを使用できますか?はいの場合は、どうですか?
学生の詳細を含む学生ビューを作成しようとしています。しかし、同じビューで、別のモデルの趣味(他のモデルとは別のモデル)から値を取り込むcollection_selectを追加する必要がありますRuby on rails:2つの無関係なモデルからのデータを含むビューをレンダリングする必要があります
私の質問は、学生/ id/new view?
これを行うにはfields_forを使用できますか?はいの場合は、どうですか?
すべてのモデルとコントローラインスタンス変数は、ビューでアクセスできます。だから、何ができる:
あなたができる# in view
<%= f.collection_select :hobbie_ids, Hobbie.all, :id, :name, {}, multiple: true %>
または:
# in controller
@hobbies = Hobbie.all
# in view
<%= f.collection_select :hobbie_ids, @hobbies, :id, :name, {}, multiple: true %>
上記のコードは、あなたがhas_and_belongs_to_many :hobbies
関係を持っている前提で書かれています。
ダニールありがとうございます。はい、これは機能しました。私はcollection_selectのためにChosenの宝石を使用してより良い外観と感じることにしましたが、 – Anukrity
コントローラメソッドでは、@ hobbies = Hobby.allのようなことができます。新規または編集。あなたのフォームのすべての趣味にアクセスすることができます。あなたの別の質問。あなたの学生と学生の詳細の関連付けをここに投稿できますか? – Vishal
学生は趣味を持っていますか? –
@DanilSperansky:はい。そのため私は別のモデルstudent_hobbiesを持っています – Anukrity