重定向同一页面而不重新加载整个页面。我可以使用下面的这个javascript
javascript.rb
$("#myLink").click(function() {
window.location.reload();
});
html.erb
<%= fields_for 'images[]', img do |p| %>
<%= link_to img[:image_path],users_categorize_path(img),:html=>{:id=>"myLink"}%>
<% end %>
我的问题是一切正常,但脚本无法正常工作。
如何在rails link标签中包含脚本ID?要么 还有其他任何脚本吗?
<%= link_to img[:image_path],users_categorize_path(img), remote: true,:html=>{:id=>"myLink"}%>
在运行时链接将传递控制器和视图页面中的参数,但是图像无法显示。然后我将删除遥控器:在视图页面中它将正常工作。我能做什么?
答案 0 :(得分:0)
试试这个:
<%= link_to img[:image_path],users_categorize_path(img), remote: true,:html=>{:id=>"myLink"}%>
在此之后,在js文件中对controlle的方法进行ajax调用。然后在尊重方法的js.erb刷新或重新加载你在javascript文件中编写的代码。
答案 1 :(得分:0)
你可以试试这个
<%= link_to img[:image_path],users_categorize_path(img), remote: true, id: "myLink" %>
之后在浏览器中检查此元素以检查id是否应用于此元素。
以下链接将介绍如何将id应用于link_to元素。
Rails link_to assigning class and id
如果id正确应用于链接,那么你需要像这样绑定事件。
$("#myLink").on("ajax:beforeSend", function(){
window.location.reload();
}).on("ajax:complete", function(){
//preloader hide
});
希望这有帮助!
答案 2 :(得分:0)
$("#myLink").click(function(e) {
e.preventDefault();
window.location.reload();
});