似乎我错过了铁轨4上的红宝石的魔力。
我想创建一个包含ActiveModel::Model
的对象,但哪个类名包含两个单词。
因此,我使用以下代码创建了app/models/registration_form.rb
:
class RegistrationForm
include ActiveModel::Model
attr_accessor(:email)
validates :email, presence: true
end
使用RegistrationForm.new
在控制器中创建对象时,会发生以下错误:
Could not find table 'registration_forms'
当我删除postfix Form
并将文件重命名为app/models/registration.rb
时,everthing工作正常。
当上面的代码在rails console
内执行时,一切正常。
错误的堆栈跟踪显示ActiveRecord被调用: https://gist.github.com/anonymous/273986937cd774b5953c
答案 0 :(得分:0)
您似乎正在尝试初始化各方控制器中的ActiveRecord对象。它可能只是名称冲突。您是否有另一个文件将RegistrationForm定义为常规ActiveRecord模型?
答案 1 :(得分:0)
默认情况下,表名是snake case中模型名称的复数形式,因此如果您有模型onCreateView()
,则数据库中的表名为GiantPanda
如果您的表名是其他名称,则可以覆盖此行为。
giant_pandas