编辑current_user的心愿单

时间:2012-03-09 19:57:59

标签: ruby-on-rails

我有一个问题,在每个用户配置文件中,他们有一个名为wishlist的部分的编辑按钮,我的问题是,当用户试图点击编辑按钮时,它会返回一个错误,说它无法找到带有id的心愿单,例如34这是user.id而不是wishlist.id。但是从我所能理解的代码中我可以理解的不是我所写的。

我的代码如下:

用户/ show.html.erb

 <div class="post3">
    <h1><%= t('.mwg')%></h1><br />
    <div id = "table-2">
    <table width="240" >
<tbody>
        <% Wishlist.where(:user_id => @user).each do |wishlist| %>
        <tr><td width="30"><b>1:</b></td><td><%= wishlist.number_1 %></td></tr>
        <tr><td width="30"><b>2:</b></td><td><%= wishlist.number_2 %></td></tr>
        <tr><td width="30"><b>3:</b></td><td><%= wishlist.number_3 %></td></tr>
        <tr><td width="30"><b>4:</b></td><td><%= wishlist.number_4 %></td></tr>
        <tr><td width="30"><b>5:</b></td><td><%= wishlist.number_5 %></td></tr>
    </tbody> 
   </table>
  </div>
    <%if current_user %>
       <% if current_user.id == wishlist.user_id %>
         <div id="text3"><%= link_to t('.edit'), edit_wishlist_path(@wishlist) %></div><br />
       <%end%>
    <%end%>
<%end%>

不,我尝试将current_user.id == wishlist.user_id行更改为以下内容:

   <% if current_user.id == @wishlist.user_id %>

但是我得到了未定义方法user_id的错误

如果我点击原始代码的编辑,它会尝试查找id与用户匹配的心愿单,但我希望它找到id与user_id列匹配的用户。

1 个答案:

答案 0 :(得分:1)

您需要调用edit_wishlist_path(心愿单),而不是@wishlist。