我为设计注册表单创建了自定义表单构建器。
表单看起来像这样,并且工作正常:
<%= 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
答案 0 :(得分: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