2017-09-11 1 views
0

学生の詳細を含む学生ビューを作成しようとしています。しかし、同じビューで、別のモデルの趣味(他のモデルとは別のモデル)から値を取り込むcollection_selectを追加する必要がありますRuby on rails:2つの無関係なモデルからのデータを含むビューをレンダリングする必要があります

私の質問は、学生/ id/new view?

これを行うにはfields_forを使用できますか?はいの場合は、どうですか?

+1

コントローラメソッドでは、@ hobbies = Hobby.allのようなことができます。新規または編集。あなたのフォームのすべての趣味にアクセスすることができます。あなたの別の質問。あなたの学生と学生の詳細の関連付けをここに投稿できますか? – Vishal

+0

学生は趣味を持っていますか? –

+0

@DanilSperansky:はい。そのため私は別のモデルstudent_hobbiesを持っています – Anukrity

答えて

0

すべてのモデルとコントローラインスタンス変数は、ビューでアクセスできます。だから、何ができる:

あなたができる
# 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関係を持っている前提で書かれています。

+0

ダニールありがとうございます。はい、これは機能しました。私はcollection_selectのためにChosenの宝石を使用してより良い外観と感じることにしましたが、 – Anukrity

関連する問題