Rails 6 在现有 SQL 数据库上设计 gem,列名大写
Rails 6 devise gem on existing SQL db with capitalized colum name
我正在尝试在 RoR 中进行一些测试(ruby v2.6.8,rails v6.1.5):
我想基于现有用户 table 的现有数据库创建一个设计(称为帐户,大写 A)。我设法执行了迁移 Devise 所需的列的第一步,但是当我尝试注册时卡住了:
undefined method `email' for #<Account:0x0000000110cb34f8>
Did you mean? Email
Email=
Email?
Extracted source (around line #469):
else
match = matched_attribute_method(method.to_s)
match ? attribute_missing(match, *args, &block) : super
end
end
ruby2_keywords(:method_missing) if respond_to?(:ruby2_keywords, true)
关于如何处理这个问题和未来可能出现的问题,有什么一般性的建议吗?
非常感谢
最简单的方法就是做一个 alias_attribute
.
这会将 :email
和 :email=
委托给 :Email
和 :Email=
。
class Account
alias_attribute :email, :Email
end
我正在尝试在 RoR 中进行一些测试(ruby v2.6.8,rails v6.1.5): 我想基于现有用户 table 的现有数据库创建一个设计(称为帐户,大写 A)。我设法执行了迁移 Devise 所需的列的第一步,但是当我尝试注册时卡住了:
undefined method `email' for #<Account:0x0000000110cb34f8> Did you mean? Email Email= Email?
Extracted source (around line #469):
else match = matched_attribute_method(method.to_s) match ? attribute_missing(match, *args, &block) : super end end ruby2_keywords(:method_missing) if respond_to?(:ruby2_keywords, true)
关于如何处理这个问题和未来可能出现的问题,有什么一般性的建议吗? 非常感谢
最简单的方法就是做一个 alias_attribute
.
这会将 :email
和 :email=
委托给 :Email
和 :Email=
。
class Account
alias_attribute :email, :Email
end