2016-10-18 43 views
1

我想從我的link_調用JavaScript的標籤使用(遠程:true)選項,但當我點擊我的鏈接時,它被處理爲HTML不是作爲js。任何人都可以告訴我我做錯了什麼。我是新來的鐵軌。 這是我的代碼 - >link_to標籤沒有響應javascript後設置遠程選項爲真4在rails 4

我的局部視圖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"/>&nbsp;<%=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"/>&nbsp;<%=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) 

我所學到的是,如果我在link_中將選項remote設置爲true,因爲jquery_ujs不是HTML,如上所示,它應該作爲js進行處理。請幫助我。在此先感謝

回答

1

我想通了,我的問題是文件的錯誤的順序中的application.js清單

答案正確的順序應該是

//= require jquery 
//= require jquery.turbolinks // if u use the gem jquery.turbolinks 
//= require jquery_ujs 
// ...Other js files 
//= require turbolinks