rails基本多态性

时间:2012-07-27 16:30:55

标签: ruby-on-rails ruby polymorphism

我尝试创建投票之间的多态关系可以由用户提交并应用于文章。我的代码

class Vote < ActiveRecord::Base
  attr_accessible :value, :voteable_id, :voteable_type
  belongs_to :voteable, :polymorphic => true  
end
class User < ActiveRecord::Base
  has_many :votes, :as => :voteable
end
class Article < ActiveRecord::Base
  has_many :votes, :as => :voteable
end

<Vote id: 1, value: 1, created_at: "2012-07-27 03:13:14", updated_at: "2012-07-27 03:13:14", voteable_id: nil, voteable_type: nil>

通过http://guides.rubyonrails.org/association_basics.html#polymorphic-associations

查看rails文档

我觉得我的代码设置正确但我在触发它时遇到了一些麻烦,即如何实际创建一个与文章或用户正确定义关系的投票对象?

2 个答案:

答案 0 :(得分:0)

我能够完成这项工作,我错误地设置了voteable_type属性。

答案 1 :(得分:0)

votable_type是字符串吗? 下一个示例应该正常工作..

  @user.votes.new :value => 1
  @user.save