gpt4 book ai didi

ruby-on-rails - 如何禁用 Rails 中生成的模型的纯化?

转载 作者:行者123 更新时间:2023-12-04 06:29:42 25 4
gpt4 key购买 nike

有一个配置文件 config/initializers/inflections.rb,根据这个问题,你可以修改某些项目的 puralization: ruby on rails pluralization help?

不过,我对此不感兴趣。我想关闭自动修改生成的模型名称。

这是一个例子:

rails generate scaffold UserData data1:string data2:string

数据更改为“基准”:

%] cat app/models/user_datum.rb 
class UserDatum < ActiveRecord::Base
attr_accessible :data1, :data2
end

这是不受欢迎的行为。

如何关闭它?

特别是如果你可以的话;我看到一些帖子有人说“你必须为此修改食谱”,但没有实际的指南来做这件事。

(我很欣赏人们开始回答这个问题时说“你应该坚持做事的方式,这是有充分理由的,从长远来看它会成功的”;请不要这样做)

最佳答案

首先,UserDatum 是单数。

无论如何:

改变你的config/initializers/inflections.rb:

ActiveSupport::Inflector.inflections do |inflect|
inflect.uncountable %w(UserData)
end

(使用您使用的任何命名约定,例如,如果您使用下划线,则改为使用 user_data,或同时使用两者。)

如果您想删除所有复数形式(粗略:这将影响世界上的一切):

ActiveSupport::Inflector.inflections do |inflect|
inflect.clear
inflect.singular(/$/i, '')
end

如果您想控制模型/模型文件命名,请修补ModelGenerator:

module Rails
module Generators
class ModelGenerator
def plural_name; singular_name; end
def plural_file_name; file_name; end
end
end
end

关于ruby-on-rails - 如何禁用 Rails 中生成的模型的纯化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12329956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com