【问题标题】:Rails 3: undefined method `remote_form_for'Rails 3:未定义的方法“remote_form_for”
【发布时间】:2011-04-22 20:43:34
【问题描述】:

我在共享/用户下的部分 HAML 中有一个相当简单的 Rails 远程表单:

- 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 完美配合。

【问题讨论】:

    标签: ruby-on-rails ajax forms haml rails-3-upgrade


    【解决方案1】:

    因为这个方法是在 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 或原型中的相同才能使用它。这是 Rails 中 UJS 的改进。

    【讨论】:

      【解决方案2】:

      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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-26
        • 1970-01-01
        • 2011-11-28
        • 2016-06-17
        • 2012-01-19
        • 2011-10-19
        • 2013-01-24
        • 2011-07-13
        相关资源
        最近更新 更多