클릭하면 링크를 비활성화하려면 write it's jquery in your asset pipeline
수 있습니다. e.preventDefault()
을 사용할 수 없으므로 간단히 change it's href to #
을 사용하십시오. data-href 속성을 사용하면 원래 링크가 다시 포함되어 다시 활성화됩니다 (많은 링크가 있고 어디로 갈지 모를 경우).
$('body').on('click', '.toggle_link', function(){
$(this).prop("href", "#");
});
을하고 당신이 할 수있는 다시 재 활성화 : 그래서 JQuery와 파일 안에 당신이 할 수있는
레일에서
$('body').on('ajax:success', '.toggle_link', function(){
var url = $(this).data("href");
$(this).prop("href",url);
});
js.erb
파일은 아약스입니다 : 성공. 따라서 jserver 파일 전체에 Ajax : success 코드를 작성하는 대신 js.erb 파일에 작성할 수는 있지만, 어떻게 든 data-href의 값을 컨트롤러에 보내야합니다 (이미 URL을 모르면 링크). 다음 단계에 따라 수행 할 수 있습니다.
a. routes.rb 파일의 post
URL을 사용자 지정 작업으로 만듭니다.
b. 귀하의 js 파일에 아약스 전화를 작성하십시오 :
c. 맞춤 작업 내에서 해당 URL을 가져올 수 있습니다. @url = params[:data-url]
d. 당신이 할 수있는 당신의 js.erb 파일 간단한 쓰기 내부
$("#some_id_of_link").prop("href",@url);
나는 완벽한 전략이라고 생각합니다. – Graeme