自定义脚手架导轨:在每个模型类中添加一个方法

时间:2013-10-16 13:01:07

标签: ruby-on-rails ruby-on-rails-3

在rails 3.2中,我们如何覆盖默认模型脚手架生成器,以便在脚手架中在model.rb文件中添加自定义方法。

我只是希望所有模型在创建脚手架后都有以下方法。

def code
   "some_prefix" + self.id.to_s
end

我正在尝试做与Override default scaffold generator in rails 3

类似的事情

我无法弄清楚我需要覆盖哪个文件。

1 个答案:

答案 0 :(得分:1)

您必须覆盖activerecord的model.rb文件。它看起来像这样:

<% module_namespacing do -%>
class <%= class_name %> < <%= parent_class_name.classify %>
<% attributes.select(&:reference?).each do |attribute| -%>
  belongs_to :<%= attribute.name %><%= ', polymorphic: true' if attribute.polymorphic? %>
<% end -%>
<% if attributes.any?(&:password_digest?) -%>
  has_secure_password
<% end -%>
end
<% end -%>

将它放在lib文件夹中:

|____lib
| |____templates
| | |____active_record
| | | |____model
| | | | |____model.rb