(remote: true) オプションを使用してタグから JavaScript を呼び出そうとしてlink_
いますが、リンクをクリックすると、js ではなく HTML として処理されます。誰が私が間違っているのか教えてもらえますか。私はレールが初めてです。これが私のコードです->
リンクが指定されている私の部分的なビュー social_media/_fb_like.erb :
<div style="display: inline-block;position: relative;">
<% if post['likes']['summary']['has_liked']%>
<img src="\assets\liked.png" width="18px" height="18px"/> <%=link_to "Like", social_media_fb_like_path(:pid => "#{post['id']}"),id: "to_unlike", :remote => true%>
<%else%>
<img src="\assets\unliked.png" width="18px" height="18px"/> <%=link_to "Like",social_media_fb_unlike_path(:pid => "#{post['id']}"),id: "to_like", :remote => true%>
<%end%>
</div>
私のコントローラーメソッド->
SocialMediaController#fb_like
def fb_like
user = User.find_by_id(session[:user_id])
@post_id = Koala::Facebook::API.new(user.token)
postid=params[:pid]
@post_id.put_like(postid)
end
SocialMediaController#fb_unlike
def fb_unlike
user = User.find_by_id(session[:user_id])
@post_id = Koala::Facebook::API.new(user.token)
postid=params[:pid]
@post_id.delete_like(postid)
end
そしてroutes.rbの私のルート->
get 'social_media/fb_like'
get 'social_media/fb_unlike'
サーバーコンソールのような/異なるリンクをクリックすると、次のメッセージが表示されます。
Started GET "/social_media/fb_unlike?pid=1665814087069318_1675050226145704" for 127.0.0.1 at 2016-10-18 15:05:13 +0530
Processing by SocialMediaController#fb_unlike as HTML
Parameters: {"pid"=>"1665814087069318_1675050226145704"}
User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 9 LIMIT 1
Completed 500 Internal Server Error in 5256ms (ActiveRecord: 0.4ms)
私が学んだことは、オプション remote を true に設定すると、上記のように HTML としてではなく、link_
のために js として処理する必要があるということです。jquery_ujs
私を助けてください。前もって感謝します