我刚刚开始使用RoR,所以我确信这是非常基本的。假设我有两个模型:帐户和交易
class Account < ActiveRecord::Base
has_many :transactions
end
class Transaction < ActiveRecord::Base
belongs_to :account
end
在进行此关联后,有哪些方法(对于每个模型)可用/自动生成?
由于
答案 0 :(得分:1)
这取决于。一些方法(例如,帐号#交易,交易#帐户)将从一开始就存在。其他人将根据需要(通过method_missing挂钩)创建,例如动态查找器。确切的列表可能取决于其他因素,包括其他地方使用的act_as等。
您是否关注创建哪些内容或完全可能性是什么?
- MarkusQ
P.S。请点击此处了解更多信息:
http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html
答案 1 :(得分:1)
从rails应用程序的根目录运行脚本/控制台,然后您可以探索所有这些神奇的模型方法:
> account = Account.new
> account.methods
> ...[long list of methods]...
> transaction = Transaction.new
> transaction.methods
> ...[long list of methods]...
您将获得该对象的所有方法的长列表,包括生成的方法。 列出的所有方法都没有换行符 - 并且使用100多种方法可能难以阅读。 您可以在主目录中使用.irbrc文件和一些自定义方法来格式化irb中的输出,以便更容易阅读。
答案 2 :(得分:0)
继续使用inkdeep的答案:您可以在视图中输出这样的内容,使其格式化:
@ transaction.methods.each do | method |
方法+“
”
端
我正在使用HAML,因此语法略有不同,但只需查看“do”