0
我在models/extensions/url.rb
获得了该文件:扩展与顾虑轨道模型
module Extensions
module Url
extend ActiveSupport::Concern
included do
end
module ClassMethods
def acts_as_url(attribute)
end
end
module InstanceMethods
end
end
end
然后,我可能有一个模型,看起来像:
class Post
include Mongoid::Document
include Mongoid::Timestamps
include Extensions::Url
acts_as_url :title
field :title, :type => String
end
凡扩展模块中我可以做它使每个实例都有一个方法/访问者,名为url
,以便我可以访问:title
字段(作为属性参数传递)并能够执行:
post = Post.find(params[:id])
puts post.url
好酷,很好的了解实例方法的位置 - 我想我的问题更多地是关于如何动态访问:title字段(不直接引用标题,而是引用引用该字段的变量)。 – Matthew
如果将其设置为Post对象的属性,则可以在'url'方法中使用'self.title'。 –
我的url方法在类上,属性是动态引用的。所以对于一个类,它可能需要引用'self.title',但对于另一个类可能是'self.other_field'。 – Matthew