Rails - 如何将一个模型中的值调用到另一个模型中

Rails - How to call values from one model into another model form

我正在开发一些应用程序,我有 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 %>

问题:如何在我创建新问题的表单中显示所有类别名称?

您可能想使用 select 框并使用 collection select rails 助手:

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

你也可以这样使用

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

@Jhon 建议。

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