首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么vote是Nil类?

为什么vote是Nil类?
EN

Stack Overflow用户
提问于 2013-03-05 06:29:01
回答 2查看 62关注 0票数 0

好吧,伙计们,这是我第一次尝试在没有任何教程或示例的情况下编写代码,所以我可能正在做一些非常愚蠢的事情。我有一个评级模式,哪位家长对党,哪位家长投票。我没有为投票生成脚手架,只是模型,因为我想我通常不需要在这里拥有所有的standart控制器或视图。我尝试添加简单的投票系统(我了解gem,但为了练习,我想自己来做)

所以我的政党模型:

代码语言:javascript
复制
class Party < ActiveRecord::Base
  belongs_to :rating
  has_one :vote
  end

end

投票模型:

代码语言:javascript
复制
 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

end

Parties_controller:

代码语言:javascript
复制
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)

评论部分是做同样事情的一种尝试。

如果在视图中我请求类:

代码语言:javascript
复制
<%  @rating.parties.each do |item| %>
      <p><%= item.name %></p>
       <p><%= item.vote.class %></p>
    <% end %>

它显示'nilClass‘为什么?

EN

回答 2

Stack Overflow用户

发布于 2013-03-05 16:35:22

此语法无效:

代码语言:javascript
复制
@party.Vote.build(:party_id => @party.id)

改用下面的代码:

代码语言:javascript
复制
@vote = @party.build_vote

不需要分配party_idbuild_vote方法可以为您完成此操作。

请参阅Rails Guides上的说明。

票数 2
EN

Stack Overflow用户

发布于 2013-03-05 06:33:23

代码语言:javascript
复制
@positive_votes = Vote.find_by_positive(params[:user_uid, :party_id])

find_by_positive期望在数据库中搜索“正”列,但您传入的是user_id和party_id。试试这个:

代码语言:javascript
复制
@positive_votes = Vote.find_by_user_uid_and_party_id(params[:user_uid], params[:party_id])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15212376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档