我可以在Rails中使用一个名为“Transaction”的模型吗?

时间:2014-12-09 20:45:48

标签: ruby-on-rails

我们想要一个名为" Transaction"这对应于我们的"交易"我们在Rails中的数据库表,但这将与现有的ActiveRecord事务功能冲突。

除了为交易模型提出不同的名称(我不想这样做)之外,我还能做些什么来支持这个模型吗?

3 个答案:

答案 0 :(得分:3)

我会说不。我试图创建一个名为Transaction的模型,当我尝试与它做一些关联时,我得到了一个Active Record错误。

  

您尝试在模型上定义名为transaction的关联   项目,但这将与已定义的方法事务冲突   通过Active Record。请选择其他关联名称。

我登陆这个Stack Overflow问题想知道同样的事情,但根据我的经验现在我不推荐它 - 看起来Transaction可能是一个保留的关键字。

答案 1 :(得分:0)

我不能肯定地说,但我认为它应该没问题。一般来说,当你试图使用一个冲突的名字时,Rails非常主动地告诉你,为什么不尝试一下,看看会发生什么?

如果表格名称(而不是型号名称)证明是个问题,您可以随时在模型中使用self.table_name = "some_other_table_name"(如Active Record Basics中所述)为其命名另一个要使用的表。

答案 2 :(得分:0)

是的,你可以,我已经将该名称用于模型并且正常工作。

如果您关注Rails上的transactions,它们是ActiveRecord :: Transactions类的方法。

http://api.rubyonrails.org/classes/ActiveRecord/Transactions/ClassMethods.html