0

商品ページのショービューに、オファーを受け入れるチェックアウトボタンがあります。各オファーはユーザーに属します。オファーを作成したユーザーが自分でそれを受け入れられるようにしたくないので、ページの現在のユーザーである場合はボタンを非表示にします。このコードが機能しない理由がわかりません:

<% unless current_user.id == @offer.sender_id %> #sender_id is a foreign key in the offer model that makes each offer belong_to a user.

<div id="accept_offer">
  <%= button_to 'Accept Offer', etc  %>
</div>
    <% end %>

current_user は、私が信じている工夫の宝石メソッドです。

どんな助けでも感謝します。

4

2 に答える 2

1

コードは正しいようです。モデルの Offer.sender_id 属性を調べて、(オファーの作成者の) 正しいユーザー ID が含まれているかどうかを確認する必要があるかもしれません。アプリケーションを介して(ブラウザで)新しいオファーを作成し、コンソールで次のように入力して確認できます。

Offer.last.sender_id

そして、それがあなたの current_user id に対応しているかどうかを確認してください

于 2013-09-07T19:16:11.033 に答える