2016-04-23 118 views
1

我正在開發一些應用程序,我有2個模型。我創建類別名稱和問題的類別。類別has_many問題和問題belongs_to類別。
我已將category_id添加到問題模型中。Rails - 如何從一個模型調用值到另一個模型的形式

現在我需要採取所有的Category_names並將它們顯示在我創建問題的表單中,以便用戶可以選擇在哪個category_name中保存問題。

我試過這樣的第一行代碼但不工作。

<%= f.input :category_id, Category.all.map(&:name) %> 
<%= f.input :question_name, wrapper: :vertical_text_input, as: :text %> 
<%= link_to "Markdown help", "http://assemble.io/docs/Cheatsheet-Markdown.html", target: "_blank", class: "right" %> 
<%= f.input :answer %> 
<%= f.input :image, as: :attachinary %> 

問題:如何顯示在表格所有的類別名稱,我創造新的問題?

回答

2

你可能想使用一個選擇框,並使用collection select軌幫手:

f.collection_select(:category_id, Category.all, :id, :name) 
+0

它可以工作,但是當我打開這個表單的頁面時,直到我刷新頁面才顯示collection_select。然後加載選擇字段。不知道爲什麼會發生這種情況.. – RubyDigger19

0

您也可以使用這種方式。

<%= f.select :category_id, Category.all.map(&:name), {prompt:"Choose Category"}%> 

@Jhon建議。

<%= f.select :category_id, Category.pluck(:name), {prompt:"Choose Category"}%> 
+1

'Category.pluck(:name)'比上面的要快 –

相關問題