我有两个使用people表的模型:Person和Person::Employee(继承自Person)。people表有一个type列。还有另一种模型,Group,它有一个名为:owner的多态关联。groups表有一个owner_id列和一个owner_type列。app/models/person.rb:classPersonapp/models/person/employee.rb:classPerson::Employeeapp/models/group.rb:classGroup问题是,当我使用以下代码创建Person::Employee时,owner_type列设置为不正确
我正在尝试制作一个STIBase模型,它会自动更改为这样的继承类:#models/source/base.rbclassSource::Base我想要这样的行为:s=Source::Base.new(:url=>'http://stackoverflow.com/rss')s.get_content#=>GotcontentfromRSSs2=Source::Base.first#urlisalsoendingrsss2.get_content#=>GotcontentfromRSS 最佳答案 有(至少)三种方法可以做到这一点:1。
我正在尝试查找关于照片的10条最新评论,以便将它们集成到我的Rails3.0.3应用程序的事件提要中。我有一个Photo模型,它使用单表继承从Upload模型继承:classUpload:commentable...end多态关联commentable在Comment模型中描述:classCommenttrueend到目前为止还不错吧?当我尝试构建查询时,问题就来了。经过反复试验,我想出了位于照片模型中的这段代码:defself.latest_comments(count=10)Comment.where(:commentable_type=>"Upload")\.joins("INN
classUser如何将变量u类型转换为Consumer类型? 最佳答案 我找到了这个问题的答案。ActiveRecord::Base类有一个用于此目的的方法:http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M002334代码将是u=User.find(id)u=u.becomes(u.type.constantize) 关于ruby-on-rails-单表继承(STI)场景中的类型转换基类模型,我们在StackOver
我使用STI模式实现类层次结构classAscope:aaa,where([someField]:[someValue])endclassB问题是当我尝试调用类似的东西时:B.limit(5).aaa=>SELECT"[table]".*FROM"[table]"WHERE"[table]"."type"IN('A')AND([someField]=[someValue])LIMIT5所以我得到5个类型A的对象,它满足范围:aaa但是我需要对type="B"的行做同样的事情有没有什么方法可以使用父级的作用域,而无需在STI模式的子级中重新定义它?提前致谢已编辑我刚刚和我的friend讨