有一个配置文件config/initializers/inflections.rb,根据这个问题,你可以修改某些项目的puralization:ruby on rails multipleization help?
但是,我对此并不感兴趣.我想关闭生成的模型名称的自动修改.
这是一个例子:
rails generate scaffold UserData data1:string data2:string
Run Code Online (Sandbox Code Playgroud)
数据更改为"基准":
%] cat app/models/user_datum.rb
class UserDatum < ActiveRecord::Base
attr_accessible :data1, :data2
end
Run Code Online (Sandbox Code Playgroud)
这是不受欢迎的行为.
我该如何关闭它?
特别是如果你能取悦; 我已经看到一些线索,人们说'你将不得不修改配方',但没有实际指导这样做.
(我很欣赏人们会想要开始回答这个问题,'你应该坚持做事的方式,这是有充分理由的,从长远来看它会发挥作用';请不要)
首先,UserDatum 是单数.
在任何情况下:
改变你的config/initializers/inflections.rb:
ActiveSupport::Inflector.inflections do |inflect|
inflect.uncountable %w(UserData)
end
Run Code Online (Sandbox Code Playgroud)
(使用您使用的任何命名约定,例如,如果您使用下划线user_data,或者两者都使用.)
如果你想删除所有复数(粗略:这将影响世界上的一切):
ActiveSupport::Inflector.inflections do |inflect|
inflect.clear
inflect.singular(/$/i, '')
end
Run Code Online (Sandbox Code Playgroud)
如果要仅控制模型/模型文件命名,请修补ModelGenerator:
module Rails
module Generators
class ModelGenerator
def plural_name; singular_name; end
def plural_file_name; file_name; end
end
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1871 次 |
| 最近记录: |