我在 Rails 3 上制作的表单遇到了麻烦。
我想做的是:
我想传递一个额外的参数只是为了决定你想要执行多少次构建 到下一个表格。我试图通过 text_field_tag 传递值,但我无法获取它 在 Controller 侧。
这就是我所做的:
型号:
class Story < ActiveRecord::Base
attr_accessible :resume,
:title,
:prelude,
:chapter_numbers
attr_accessor :chapter_numbers
# etc etc etc
end
查看:
<%= simple_form_for(@story) do |f| %>
<div class="field">
<%= f.input :prelude, as: :text, input_html: { rows: 10, style: 'width: 100%' } %>
</div>
<div class="field">
<%= text_field_tag :chapter_numbers %>
</div>
<% end %>
额外的参数是:chapter_numbers,我想在 Controller 中捕获它 params[:chapter_numbers],但它不起作用。尝试将其添加为虚拟属性(不知道是否有必要)
提前致谢!
最佳答案
text_field_tag
是一个独立的字段,不会在您的参数中发送
text_field_tag
和 text_field
不同
您需要使用 f.text_field
因为这会将所需的参数发送到您的 Controller ,如下所示:
<%= f.text_field :chapter_numbers %>
或者根据您的情况(使用简单形式
):
<%= f.input :chapter_numbers, as: :text %>
关于ruby-on-rails - 通过 form_for 中的 text_field_tag 传递额外参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20740319/