如果我有两个模型,例如Question
和Answer
。 Question
有三列,如 question_id、question_type、question_text
,Answer
有三个值 answer_id、question_id、answer_text
。
我正在为 Answer
模型创建表单。
示例:
<%= f.text_field :question_id %>.
<%= f.hidden_field :question_id %>.
在这里,我使用隐藏字段
来查找question_type
。我尝试了 map
方法,但这不起作用。所以有人帮助我通过选择 question_id
来获取 question_type
值。
谢谢
最佳答案
当您在 Controller 中提取答案时,您可以包含问题,然后您就可以完全访问两者,而无需在 View 中进行额外查询:
在 Controller 中:
@answer = Answer.includes(:question).where(:id => params[:answer_id])
查看中:
<%= @answer.question.question_type %>
如果这是一个新答案,您可以创建它并在 Controller 中将问题传递给它:
@answer = Answer.new(:question => Question.find(params[:question_id]))
然后在您的表单中您可以通过以下方式访问它:
<%= @answer.question.question_type %>
关于javascript - 如何通过 ruby on Rails 中的关联获取另一列的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12827834/