好吧,伙计们,这是我第一次尝试在没有任何教程或示例的情况下编写代码,所以我可能正在做一些非常愚蠢的事情。我有一个评级模式,哪位家长对党,哪位家长投票。我没有为投票生成脚手架,只是模型,因为我想我通常不需要在这里拥有所有的standart控制器或视图。我尝试添加简单的投票系统(我了解gem,但为了练习,我想自己来做)
所以我的政党模型:
class Party < ActiveRecord::Base
belongs_to :rating
has_one :vote
end
end投票模型:
class Vote < ActiveRecord::Base
attr_accessible :negative, :positive, :party_id
belongs_to :party
#def self.build(party_id)
#return Vote.new(:party_id=>party_id)
#end
endParties_controller:
def create
@rating = current_rating
@party = @rating.parties.build(:rating_id => @rating_id)
#@vote = Vote.add_voting(@party.id)
@vote = @party.Vote.build(:party_id=>@party.id)评论部分是做同样事情的一种尝试。
如果在视图中我请求类:
<% @rating.parties.each do |item| %>
<p><%= item.name %></p>
<p><%= item.vote.class %></p>
<% end %>它显示'nilClass‘为什么?
发布于 2013-03-05 16:35:22
此语法无效:
@party.Vote.build(:party_id => @party.id)改用下面的代码:
@vote = @party.build_vote不需要分配party_id。build_vote方法可以为您完成此操作。
请参阅Rails Guides上的说明。
发布于 2013-03-05 06:33:23
@positive_votes = Vote.find_by_positive(params[:user_uid, :party_id])find_by_positive期望在数据库中搜索“正”列,但您传入的是user_id和party_id。试试这个:
@positive_votes = Vote.find_by_user_uid_and_party_id(params[:user_uid], params[:party_id])https://stackoverflow.com/questions/15212376
复制相似问题