0

アプリがherokuにプッシュされると、アプリで奇妙なエラーが発生します。アプリは私のローカルマシンで正常に実行されます。Mysqlをローカルで使用している原因がわからないのですか?

これが私が得ているエラーです:

2012-07-24T17:14:52+00:00 app[web.1]: ActionView::Template::Error (PG::Error: ERROR:  argument of AND must be type boolean, not type integer
2012-07-24T17:14:52+00:00 app[web.1]: : SELECT COUNT(*) FROM "users" INNER JOIN "articles_users" ON "users"."id" = "articles_users"."user_id" WHERE "articles_users"."article_id" = 64 AND (1)):
2012-07-24T17:14:52+00:00 app[web.1]:     9:            <span>
2012-07-24T17:14:52+00:00 app[web.1]:     10:           <a data-action="like" data-id="<%= a.id %>" >
2012-07-24T17:14:52+00:00 app[web.1]:     11:           <%if user_signed_in?%>
2012-07-24T17:14:52+00:00 app[web.1]:     12:                   <%if a.likes.where(user_id = current_user.id).size == 0%>
2012-07-24T17:14:52+00:00 app[web.1]:     13:                           <%=image_tag("star.png", :width => "37", :height => "36", "data-action" => "star")%></a><span data-action="likes" style="vertical-align:10px; padding:8px;">
2012-07-24T17:14:52+00:00 app[web.1]:     14:                   <%else%>
2012-07-24T17:14:52+00:00 app[web.1]:     15:                           <%= image_tag("star-yellow.png", :width => "37", :height => "36", "data-action" =>"star")%></a><span data-action="likes" style="vertical-align:10px; padding:8px;">

ここに私の見解からのコードがあります:

<a data-action="like" data-id="<%= a.id %>" >
    <%if user_signed_in?%>  
        <%if a.likes.where(user_id = current_user.id).size == 0%>   
            <%= image_tag("star.png", :width => "37", :height => "36", "data-action" => "star")%></a><span data-action="likes" style="vertical-align:10px; padding:8px;">
        <%else%>
            <%= image_tag("star-yellow.png", :width => "37", :height => "36", "data-action" => "star")%></a><span data-action="likes" style="vertical-align:10px; padding:8px;">
        <%end%>

ここで何が問題になっていますか?よろしくお願いします!

4

2 に答える 2

0

whereメソッドは次のように変更する必要があります。

a.likes.where(:user_id => :current_user.id)

いいえ

a.likes.where(user_id = current_user.id)

これでうまくいくと思います。

于 2012-07-24T18:08:02.217 に答える
0

私が変更され

<%if a.likes.where(user_id = current_user.id).size == 0%> 

<%if !a.likes.include?(current_user)%>

そして、それは今うまくいきます。

于 2012-07-24T19:06:59.103 に答える