Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 是否可以在Rails 5视图中使用ajax请求呈现部分内容?_Ruby On Rails_Ruby_Ajax_Ruby On Rails 5 - Fatal编程技术网

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。谢谢你的回答。