嘿伙计我通过使用下划线而不是类似名称(Ui_1_Log而不是Ui1Log)来破坏一些rails约定,现在当我引用该关联时它找不到合适的类。例如:
class Ui_1_Log < ActiveRecord::Base
belongs_to :account
end
class Account < ActiveRecord::Base
has_many :ui_1_logs
end
现在当我在rails控制台中调用该关联时,它不起作用,因为当需要保留下划线时它返回一个类名为Camelcase ...
x = Account.first
x.ui_1_logs.first #returns nameError: uninitialized constant Account::Ui1Log
它需要是Account :: Ui_1_Log,但我不知道如何强制...任何想法?!
答案 0 :(得分:1)
您可以使用class_name
选项在关联上设置班级名称。
class Account < ActiveRecord::Base
has_many :ui_1_logs, class_name: 'Ui_1_Log'
end
但我仍然建议您遵循惯例。