嵌套形式的输入未显示在rails中

时间:2015-12-25 20:21:22

标签: ruby-on-rails ruby ruby-on-rails-4 nested-forms

我有一个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

如何解决问题?

2 个答案:

答案 0 :(得分:2)

哈......我明白了。我有一段时间了。

erb中,<% ... %><%= ... %>之间的区别在于前者仅分析,而后者也显示结果。

同样的原则也适用于其他引擎(slimhaml等)。

要进行分析,请使用-,但也要显示,请使用=

因此,要将上述内容应用于您的案例,嵌套属性的行必须从仅分析更改为显示。

那就是:改变这个:

-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时,我花了一天的时间才弄明白。