Rails 3: неопределенный метод `remote_form_for ' - PullRequest
9 голосов
/ 08 октября 2010

У меня есть довольно простая удаленная форма Rails в HAML в пароле под shared / users:

- remote_form_for :user, :url => { :controller => "users", :action => "create" } do |f|
  .field
    = f.label :name, t('name')
    = f.text_field :name
  .field
    = f.label :email, t('email')
    = f.text_field :email
  .actions
    = f.submit

Неважно, сколько я возлюсь с этим, это просто не сработает. Я всегда получаю следующую ошибку:

undefined method `remote_form_for' for #<#<Class:0x1036e8e40>:0x1036dfd90>

Я что-то делаю глупо? Отлично работает с form_for.

Ответы [ 2 ]

23 голосов
/ 08 октября 2010

remote_form_for больше не существует.

Попробуйте добавить

:remote => true

в качестве опции для form_for

form_for :user, :remote => true, :url => { :controller => "users", :action => "create" } do |f|

см. http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for

1 голос
/ 08 октября 2010

Это потому, что этот метод удаляется на Rails 3

Используйте сейчас

form_for ..., :remote => true

Ваш код становится:

- form_for :user, :url => { :controller => "users", :action => "create" }, :remote => true do |f|
  .field
    = f.label :name, t('name')
    = f.text_field :name
  .field
    = f.label :email, t('email')
    = f.text_field :email
  .actions
    = f.submit

И вам нужен rails.jquery.JS или же в прототипе, чтобы использовать его.Это улучшение UJS в рельсах.

...