English 中文(简体)
Rails远程表单未提交表单参数。
原标题:
  • 时间:2009-03-18 21:55:03
  •  标签:

我的问题涉及以下包含远程表单的局部视图:

 <% 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_phone_number操作,但表单值不在参数变量中。

有人知道这可能是为什么吗?

最佳回答

大多数浏览器在DOM中不合法的位置(例如在TR内而不是TD内)作为子节点的表单元素将无法通过POST传递表单值。

我曾经遇到过这个问题。

问题回答

你可能想要为这个表格建立某种形式的方法。

<% 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的惯例。

对于诸如这样的问题调试器是你的朋友





相关问题
热门标签