在任何页面上设计注册表格

我正在尝试允许用户在我的主页/目标网页上注册该网站。 我已将设计注册表复制到我的目标网页视图中 –

 resource_name, :url => registration_path(resource_name)) do |f| %>  






我还在application_controller.rb 添加了辅助方法 ,以便我正确定义资源 –

 class ApplicationController < ActionController::Base protect_from_forgery def resource_name :user end def resource @resource ||= User.new end def devise_mapping @devise_mapping ||= Devise.mappings[:user] end end 

但是我仍然得到错误undefined local variable or method resource' ##:0x007fa816b4b750>`

我在这里错过了什么,以便在我的主页登陆页面上正确呈现注册表单?

您需要将这些控制器方法声明为帮助方法,以便从视图中访问它们:

 helper_method :resource, :resource_name, :devise_mapping 

只需在定义方法后在ApplicationController添加该行。

您会注意到您提供的链接实际上提到将此代码放在应用程序帮助程序中,而不是控制器中……如果您这样做,可以避免使用此helper_method声明。