我有一些信息和render partial: 'path/to/partial'
我想做render url: another_model_path(@model), remote: true
之类的事情。
我可以通过link_to 'Load what I want', another_model_path(@model), remote: true
但是,我需要点击按钮才能加载我想要的内容。无论如何都没有点击任何按钮,最好不使用自定义的JavaScript(只是像遥控器:真的)
我看到可以将data-remote = true添加到任何元素,Rails将负责发出ajax请求(只要你还提供data-url ='your_url')。我试过这个,但它不起作用。我在check_box_tag中尝试了它并且它可以工作,但是我再次需要单击复选框)=
提前致谢。
答案 0 :(得分:2)
好吧,我找到了一个非理想的解决方案here。基本上只是使用js向我想要的控制器发出请求:
在视图中:
.some-class{ data: { remote="true", url: my_path(@model), method: :get } }
.loading= fa_icon "spinner pulse", class: "fa-5x"
和.js:
$ ->
elem = $("div").find("[data-remote]")
path = elem.data("url")
method = elem.data("method") || "GET"
defaultContent = elem.contents()
elem.bind 'ajax:beforeSend', ->
$(this).prepend(defaultContent)
$(this).contents().css("opacity", "0.5")
$.ajax({
url: path,
dataType: 'script',
type: method,
complete: ->
defaultContent.remove()
})