Rails - 如何将值从一个模型调用到另一个模型形式

时间:2016-04-23 15:15:45

标签: ruby-on-rails ruby rails-models

我正在处理某个应用,我有2个型号。我在其中创建类别名称和问题的类别。类别has_many问题和问题belongs_to类别。
我已将category_id添加到问题模型中。

现在我需要获取所有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 个答案:

答案 0 :(得分:2)

您可能想要使用选择框并使用collection select rails helper:

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

答案 1 :(得分:1)

你也可以这样使用。

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

@Jhon建议。

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