0

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

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

有谁知道为什么会这样?

4

2 回答 2

4

如果表单元素是 DOM 中非法位置的子节点(例如在 TR 中(而不是在 TD 中),则大多数浏览器不会在帖子中传递表单值。

我曾经遇到过这个问题。

于 2009-03-19T14:08:18.567 回答
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 的约定。

对于像这些调试器这样的问题也是你的朋友

于 2009-03-18T23:12:28.643 回答