Ruby on rails 是否可以在Rails 5视图中使用ajax请求呈现部分内容?
我有一个包含一些信息的视图和一个Ruby on rails 是否可以在Rails 5视图中使用ajax请求呈现部分内容?,ruby-on-rails,ruby,ajax,ruby-on-rails-5,Ruby On Rails,Ruby,Ajax,Ruby On Rails 5,我有一个包含一些信息的视图和一个render partial:“path/to/partial” 我想做一些类似于渲染url:other\u model\u path(@model),remote:true 通过链接到“加载我想要的”,另一个路径(@model),remote:true,我可以部分实现我想要的 但是,我需要单击按钮来加载我想要的内容。是否可以不点击任何按钮,最好不使用自定义javascript(类似于remote:true)来执行此操作 我发现可以将dataremote=true
render partial:“path/to/partial”
我想做一些类似于渲染url:other\u model\u path(@model),remote:true
通过链接到“加载我想要的”,另一个路径(@model),remote:true,我可以部分实现我想要的
但是,我需要单击按钮来加载我想要的内容。是否可以不点击任何按钮,最好不使用自定义javascript(类似于remote:true)来执行此操作
我发现可以将dataremote=true添加到任何元素中,Rails将负责发出ajax请求(只要您还提供dataURL='your_url')。我试了一次,但没用。我在一个复选框标记中尝试了它,它可以工作,但是我需要再次单击复选框)=
提前谢谢。我找到了一个不理想的解决方案。基本上只需使用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()
})
如果不单击,只需执行
即可加载该页面。否,如果要动态渲染部分,则必须触发事件或操作。。。对我来说不行。我需要启动控制器,而不仅仅是渲染html。谢谢你的回答。