设计多模型应用程序助手



我在设计方面有问题:

在我的应用程序助手中,我已经有

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

相关内容

最新更新