我的问题涉及以下具有远程表单的部分视图:
<% remote_form_for :phone_number, :url => {:controller => "edit", :action => "add_phone_number" }, :update => "phone_number_div" do |form| %>
<%= form.text_field :number%>
<%= form.select :type, PhoneNumber::PHONE_TYPE%>
<%= submit_tag "Add" %>
<% end %>
按下Add
按钮后,add_phone_number
操作会过帐到,但表单值不在params变量中。
有谁知道为什么会这样?
答案 0 :(得分:4)
如果表单元素是DOM中非法位置的子节点(例如,在TR内部(而不是在TD中),大多数浏览器都不会在帖子中传递表单值。
我遇到过这个问题一次。
答案 1 :(得分:0)
您可能希望为表单提供某种方法。
<% remote_form_for :phone_number, :method => :post, :url => { :controller => "edit", :action => "add_phone_number" }, :update => "phone_number_div" do |form| %>
不要挑剔,但如果您使用remote_for_form
,则希望有资源使用它。因此,您希望将:phone_number
替换为@phone_number
在控制器中实例化的实例变量。这使代码保持更好,并且也符合Rails的惯例。
对于像debugger这样的问题,你的朋友