Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.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
Jquery 通过Ajax获取要在视图中显示的集合_Jquery_Ruby On Rails_Ajax - Fatal编程技术网

Jquery 通过Ajax获取要在视图中显示的集合

Jquery 通过Ajax获取要在视图中显示的集合,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,我所要做的就是当用户单击按钮时在视图中填充一个集合。但我觉得我把这条路弄得太复杂了,它不起作用。查看我的代码-哪里出了问题 单击处理程序: $('#filterrific_results').find('.followup-injury').on('click', function(e){ e.preventDefault(); $.ajax({ url: "/assessments/followup

我所要做的就是当用户单击按钮时在视图中填充一个集合。但我觉得我把这条路弄得太复杂了,它不起作用。查看我的代码-哪里出了问题

单击处理程序:

 $('#filterrific_results').find('.followup-injury').on('click', function(e){
            e.preventDefault();


             $.ajax({
                    url: "/assessments/followups",
                    type: "POST",
                    data: {patient_id: patient_id},
                    success: function(data){
                      console.log(data)
                    },
                    error: function(err) {
                      console.log(err);
                    }
                 });

         });
控制器操作:

 def followups
    @patient = Patient.find(params[:patient_id])
    @assessments = @patient.assessments
    render :followups
  end
Followups.js.erb:

$('.modal-body').html("<%= render partial: 'followup', :assessments=> @assessments %>").html_safe
$('.modal body').html(“@assessments%>”).html\u安全
_followup.html.erb:

<%= @assessments.each do |assessment| %>
 <%= assessment.name %>
<% end %>

用户单击按钮->数据发送到控制器->控制器呈现Javascript->Javascript呈现html部分

我是不是把事情弄得太复杂了?另外,我的html甚至没有呈现(assessment.name)

您的部分(在您的示例中当前命名为:
\u followup.html.erb
)应该只是生成一行的代码,Rails将为您迭代它,并且您应该根据它表示的模型命名它,即

 # app/views/assessments/_assessment.html.erb
 <%= assessment.name %>
…是的,这就是所需的全部内容,Rails将自动对其进行迭代,将partial中的本地
assessment
变量设置为
@assessment
中的每个对象

那么,最后一部分就是你的
followups.js.erb
,基本上你想要的是与你放在HTML文件中完全相同的
render
行,但是只需将它包装在
escape\u javascript
中,这样它就可以正确地传递给js
HTML()
函数:

$('.modal-body').html("<%= escape_javascript render @assessments %>")
$('.modal body').html(“”)
就这样

$('.modal-body').html("<%= escape_javascript render @assessments %>")