我有一个控制器,我想把一些数据从我的控制器发送到modal。我怎样才能做到这一点?这是我的控制器-客户控制器rb
def hours_approved
@project = Project.find params[:project_id]
respond_to do |format|
format.js { render :file => "/customers/hours_approved.js.erb"}
end
end
小时数已批准。js.erb
$('#hours_approved').html("<%= j render partial: 'hours_approved_modal' %>");
$('#hoursapproved').modal('show');
这是我的模式文件-hours_approved_modal.html.slim
iv class="modal fade" id="hoursapproved" tabindex="-1" role="dialog" aria-hidden="true"
div class="modal-dialog" role="document"
div class="modal-content" style="left:-240px;"
div class="modal-header" style="padding:0px;"
h1 Hours Approved
button type="button" class="close" data-dismiss="modal" aria-label="Close"
span aria-hidden="true" ×
div class="modal-body"
*i want to use here*
我想将@project
从控制器传递到我的模态"hours_approved_modal.html.slim",并使用它来获取值。我该怎么做?编辑1:如果我在js文件中使用这个
$('#hours_approved').html("<%= j render partial: 'hours_approved_modal', projects: @projects%>");
$('#hoursapproved').modal('show');
它给出了这个错误-
undefined local variable or method `projects' for #<#<Class:0x0055bc4c9b0998>:0x0055bc505bc180>
Did you mean? @projects
编辑2:这就是我想在模态体中使用的方式
div class="modal-body"
table class="display" width="100%" cellspacing="0"
thead
tr
th Project Users
tbody
- projects.each do |project|
tr
td = project.name
必须使用locals
沿传递变量
render partial: 'hours_approved_modal', locals: { projects: @projects }
通过这种方式,您可以在.slim
文件中以projects
的形式访问它
$('#hours_approved').html("<%= j render partial: 'hours_approved_modal', projects: @projects %>");
现在,在您的模态中,有一个projects
变量,它包含@projects
的数据
此外,请将您的hours_approved_modal.html.slim
文件重命名为_hours_approved_modal.html.slim
,并在前面加上_
。否则,它将不会被识别为分部。