Rails Remote Form不发布表单参数

时间:2009-03-18 21:55:04

标签: ruby-on-rails post parameters remote-forms

我的问题涉及以下具有远程表单的部分视图:

 <% 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变量中。

有谁知道为什么会这样?

2 个答案:

答案 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这样的问题,你的朋友