2016-10-18 8 views
1

Я пытаюсь вызвать JavaScript из моего link_ для использования тега, используя (удаленный: истинный) вариант, но когда я нажимаю на свою ссылку, он обрабатывается как HTML, а не как js. Может ли кто-нибудь сказать мне, что я делаю неправильно. Я новичок в рельсах. Вот мой код->тег link_to не отвечает на javascript после установки удаленной опции как истинной в 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> 

мои контроллеры methods->

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 в link_, чем она должна обрабатываться как js из-за jquery_ujs, а не как HTML, как показано выше. Пожалуйста, помогите мне. Заранее спасибо

ответ

1

Ответ Я понял, на мой вопрос был неправильный порядок файлов в application.js манифеста

Правильный порядок должен быть

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