2016-11-18 8 views
1

なぜこのエラーが出るのかわかりません。エラーがありますが、現時点では残念ながら見つけることはできません。NoMethodError in Pins#index、定義されていないメソッド `stringify_keys

Index.html.erb:私のコンソール、エラーで

<div id="pins" class="transitions-enabled"> 
    <% @pins.each do |pin| %> 
    <div class="box panel panel-default"> 
     <%= link_to image_tag(pin.image.url(:medium)), pin %> 
     <div class="panel-body"> 
     <p><%= pin.description %></p> 
     <p><strong><%= pin.user.email if pin.user %></strong><p> 

     <% if pin.user == current_user %> 
      <div class="actions"> 
      <%= link_to edit_pin_path(pin) do %> 
      <span class="glyphicon glyphicon-edit"></span> 
      Edit 
      <% end %> 
      <%= link_to 'Delete', pin, method: :delete, data: { confirm: 'Are you sure?' } do %> 
      <span class="glyphicon glyphicon-trash"></span> 
      Delete 
      <% end %> 
      </div> 
     <% end %> 
     </div> 
    </div> 
    <% end %> 
</div> 

ActionView::Template::Error (undefined method `stringify_keys' for #<Pin:0x007f568d39a428>): 
    12:    <span class="glyphicon glyphicon-edit"></span> 
    13:    Edit 
    14:    <% end %> 
    15:    <%= link_to 'Delete', pin, method: :delete, data: { confirm: 'Are you sure?' } do %> 
    16:    <span class="glyphicon glyphicon-trash"></span> 
    17:    Delete 
    18:    <% end %> 

私は

<%= link_to pin, method: :delete, data: { confirm: 'Are you sure?' } do %> 
に `

<%= link_to 'Delete', pin, method: :delete, data: { confirm: 'Are you sure?' } do %>` 

を編集した場合、それはそうです

これは動作し、ページが読み込まれますが、ユーザーがサインインしたときに「ピン」に「削除」オプションをロードしないなど、以前は持っていなかったその他の問題が発生します。/

+0

コントローラにエラーが発生しましたか?あなたが得ている完全なエラーを貼り付けることができますか? –

+0

[NoMethodError in Car#index]の複製があります(http://stackoverflow.com/questions/6034106/nomethoderror-in-carindex) –

+0

@Benjaminsデバッグのヘルプを求める質問(「なぜこのコードは機能していませんか」)は、特定の問題またはエラー、および質問自体の中でそれを再現するために必要な最短のコードを含める。明確な問題文がない質問は、他の読者にとって有用ではありません。 –

答えて

0

ブロックを使用してlink_toを書き込むと、その後にリンクのテキストコンテンツは必要ありません。あなたのコードで

<%= link_to pin, method: :delete, data: { confirm: 'Are you sure?' } do %> 
    <span class="glyphicon glyphicon-trash"></span> 
    Delete 
<% end %> 

link_to 'delete', pin, ... doに渡すときには、オプションの一部としてピンを解析しようと誰かが、私の最高の推測をで署名されていない場合にのみ現れて、あなたの削除ボタン用として

をハッシュあなたのpin.usernilです。誰もサインインしていないときに一致します。if current_user.present? && pin.user == current_user

関連する問題