質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

2404閲覧

いいね機能を付ける際の like_user のnill class の原因

koyo

総合スコア8

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2016/09/02 06:14

###前提・実現したいこと
ツイッターに似ているアプリで投稿にいいねをつけたいです。

###発生している問題・エラーメッセージ

Rendered productlikes/_productlike.html.erb (17.1ms) Rendered productlikes/destroy.js.erb (31.0ms) Completed 500 Internal Server Error in 75ms (ActiveRecord: 8.1ms) ActionView::Template::Error (undefined method `like_user' for nil:NilClass): 1: <% if user_signed_in? %> 2: <% if product.like_user(current_user.id) %> 3: <%= link_to product_productlike_path(product, productlike), method: :delete, remote: true do %> 4: <%= image_tag("icon_red_star.jpg") %> 5: <span> app/views/productlikes/_productlike.html.erb:2:in `_app_views_productlikes__productlike_html_erb___4290060876893367746_70139899236240' app/views/productlikes/destroy.js.erb:1:in `_app_views_productlikes_destroy_js_erb__553382025211876493_70139849015480'

###該当のソースコード

def like_user(user_id) likes.find_by(user_id: user_id) end ###試したこと ###補足情報(言語/FW/ツール等のバージョンなど) prdouct.rbに上記のようなコードを書いてajaxを適用させようとしてるのですが、どこを探しても特におかしいところは見つけられず、 (undefined method `like_user' for nil:NilClass): と言うエラーがどうしても出てしまいます。なぜでしょうか。回答お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

undefined method 'like_user' for nil:NilClassの原因自体は、productnilだからです。

以下憶測も入りますが、
productlikes/destroy.js.erbからproductlikes/_productlike.html.erbに渡している、渡しているproductnilになっているのではないでしょうか?

投稿2016/10/11 15:34

cameluby

総合スコア891

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問