获取“未知属性错误”任何人都有帮助修复?

时间:2010-10-01 04:49:57

标签: ruby-on-rails ruby activerecord

(对不起,长篇大论)好的家伙,所以我遇到了一些我正在尝试的问题,我一直试图修复它已经很久了,现在是时候寻求帮助了。

好的,所以我有这些“研磨者”,我希望用户为每个人投票,

我做了两个脚手架:

grinder grinder:string posted_timestamp:datetime poster_ip:string votes_up:integer votes_down:integer

投票grinder_id:integer choice:string voter_ip:string

所以我创建了这个 研磨机指数

<% @grinders.each do |grinder| %>
<div id="main">
<div style="float:left; height:80px; width:50px">
    <div class='up'>
        <% form_for(@vote) do |u| %>
            <%= u.hidden_field :grinder_id, :value => grinder.id %>
            <%= u.hidden_field :choice, :value => "down" %>
            <%= u.submit 'Create' %>
        <% end %>  
    </div>
    <center><%=h grinder.votes_up - grinder.votes_down %></center>
    <div class='down'>
        <% form_for(@vote) do |d| %>
            <%= d.hidden_field :grinder_id, :value => grinder.id %>
            <%= d.hidden_field :choice, :value => "down" %>
            <%= d.submit 'Create' %>
        <% end %>  
    </div>

</div>


<div class='box' >"<strong>It grinds our gears </strong><%=h grinder.grinder %>"</div>




</div>
</div>

<% end %>

Grinders索引页面如下所示http://grab.by/6Eik

我还将@vote = Vote.new添加到grinders controller ..

的索引方法中

votes controller我稍微修改了创建方法。

  def create
@vote = Vote.new(params[:vote])
@grinder.voter_ip = request.remote_ip
respond_to do |format|
  if @vote.save
    format.html { redirect_to(@vote, :notice => 'Vote was successfully created.') }
    format.xml  { render :xml => @vote, :status => :created, :location => @vote }
  else
    format.html { render :action => "new" }
    format.xml  { render :xml => @vote.errors, :status => :unprocessable_entity }
  end
end
end

但是无论何时我尝试投票,我都会收到以下错误。 http://grab.by/6EiQ

2 个答案:

答案 0 :(得分:1)

修正了它们,结果证明我上次移植时没有工作......所以我必须修复它,并进行迁移。

答案 1 :(得分:0)

模型中指定的投票和磨床之间的关系如何?

它正在传递一个不属于投票模型的voter_choice。 选择是第二部分

在您的观点中更改:

from <%= d.hidden_field :voter_choice, :value => "down" %>
to <%= d.hidden_field :choice, :value => "down" %>