Rails Remote Form не отправляет параметры формы

мой вопрос включает в себя следующее частичное представление с удаленной формой:

 <% 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.

Кто-нибудь знает, почему это может быть?


person stellard    schedule 18.03.2009    source источник


Ответы (2)


Большинство браузеров не будут передавать значения формы в сообщении, если элемент формы является дочерним узлом в недопустимом месте в DOM (например, внутри TR (а не в TD).

Однажды я столкнулся с этой проблемой.

person Gabe Hollombe    schedule 19.03.2009
comment
Это действительно было проблемой в вашем случае? - person Gabe Hollombe; 23.03.2009

Вы, вероятно, хотите иметь какой-то метод для формы.

<% 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.

Также для решения подобных проблем вам поможет отладчик.

person vrish88    schedule 18.03.2009