Ada*_*dam 4 routing model ruby-on-rails sti
我在Rails应用程序中使用STI,为了不必为所有子类定义路由,我在每个子类中添加以下内容:
def self.model_name
Mapping.model_name
end
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,Mapping是父模型名称.例:
class UserMapping < Mapping; end
Run Code Online (Sandbox Code Playgroud)
必须将它放在每个子类中并不是很干,所以我正在寻找一种方法在父类中以某种方式设置它,以便从父类继承的每个类自动将模型名称设置为父模型名称.
也许甚至有更好的方法来克服由于与设置无关的STI引起的路由问题model_name- 我对建议持开放态度!
提前致谢!
把它放在你的Mapping班上:
class Mapping < ActiveRecord::Base
def self.inherited(subclass)
super
def subclass.model_name
superclass.model_name
end
end
end
Run Code Online (Sandbox Code Playgroud)
之后,所有子类也Mapping将继承父类model_name.
| 归档时间: |
|
| 查看次数: |
1176 次 |
| 最近记录: |