我有一个Rails应用程序,它有两个模型:问题和可能的答案。一个问题有很多可能的答案,一个可能的答案属于一个问题。在添加问题时,我想添加可能的答案。但是,我无法显示可能的答案输入。这些文件可能会导致问题:
questions_controller.rb
:
def new
@question = @poll.questions.build
4.times { @question.possible_answers.build }
end
question.rb
:
has_many :possible_answers
accepts_nested_attributes_for :possible_answers
_form.html.haml
:
-f.fields_for :possible_answers do |p|
=p.text_field :title
如何解决问题?
答案 0 :(得分:2)
哈......我明白了。我有一段时间了。
在erb
中,<% ... %>
和<%= ... %>
之间的区别在于前者仅分析,而后者也显示结果。
同样的原则也适用于其他引擎(slim
,haml
等)。
要进行分析,请使用-
,但也要显示,请使用=
。
因此,要将上述内容应用于您的案例,嵌套属性的行必须从仅分析更改为显示。
那就是:改变这个:
-f.fields_for :possible_answers do |p|
=p.text_field :title
到此:
=f.fields_for :possible_answers do |p|
=p.text_field :title
那应该为你做。
答案 1 :(得分:1)
= f.fields_for :possible_answers do |p|
=p.text_field :title
当我第一次开始使用Rails时,我花了一天的时间才弄明白。