我在设计方面有问题:
在我的应用程序助手中,我已经有
def resource_name
:user
end
def resource
@resource ||= User.new
end
def devise_mapping
@devise_mapping ||= Devise.mappings[:user]
end
它有效。
我只是添加一个"工人"模型。如何在我的应用程序助手中为用户或工作人员设置 3 def。我不想设置其他 3 个 def 并重命名我所有设计的"工人"视图。
多谢!
我能够通过使用助手检查父类来解决我的问题:
module ApplicationHelper
def resource_name
if self.class.parent == Workers
:worker
else
:user
end
end
def resource
if self.class.parent == Workers
@resource ||= Worker.new
else
@resource ||= User.new
end
end
def devise_mapping
if self.class.parent == Workers
@devise_mapping ||= Devise.mappings[:worker]
else
@devise_mapping ||= Devise.mappings[:user]
end
end
end