我认为必须将值传递回控制器以供使用,但我尝试过的所有内容似乎只能获取已经保存在数据库中的值。
答案 0 :(得分:2)
提交表单时,控制器将始终可以访问名为“params”的哈希,该哈希将包含所有提交的数据。
例如,如果您的表单包含名为“foo”的文本框
<input type="text" name="foo" />
可以使用
在控制器中检索该值fooValue = params[:foo]
您可以使用它来构建模型的新实例,其中包含表单中提交的值,如下所示:
在您的表单中:
<% form_for :person, @person, :url => { :action => "create" } do |f| %>
<%= f.text_field :first_name %>
<%= f.text_field :last_name %>
<%= submit_tag 'Create' %>
<% end %>
然后,在你的控制器中:
@newPerson = Person.new(params[:person]; #this will pass the whole group of values within that person form to the "new" method