0

devise サインアップ フォーム用のカスタム フォーム ビルダーを作成しました。

フォームは次のようになり、正常に動作します。

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), builder: BootstrapFormBuilder) do |f| 
  <%= f.text_field :username, :autofocus => true %>
  <%= f.email_field :email %>
  <%= f.password_field :password %>
  <%= f.password_field :password_confirmation %>

  <%= f.submit "Sign up", class: "btn btn-default" %>
<% end %>

という名前のヘルパーを作成したいと思いますbootstrap_form_for。私が書いたアプリケーションヘルパーで(それをテストするためだけに):

module ApplicationHelper
  def bootstrap_form_for(record, options = {}, &block)
    form_for(record, options = {}, &block)
  end
end

form_for挿入する代わりに、次の行でbootstrap_form_forエラーが発生します。undefined method 'users_path' for #<#<Class:0x007f9eb40bc728>:0x007f9eb40bb9b8>bootstrap_form_for

エラーページのタイトル:NoMethodError in Devise::Registrations#new

なぜなのかご存知ですか?

4

1 に答える 1

0

ここに問題がありました:

module ApplicationHelper
  def bootstrap_form_for(record, options = {}, &block)
    form_for(record, options = {}, &block)
  end
end

そのはず:

module ApplicationHelper
  def bootstrap_form_for(record, options = {}, &block)
    form_for(record, options, &block)
  end
end
于 2013-10-08T09:40:02.173 に答える