sot*_*otn 9 parameters ruby-on-rails bootstrap-modal
我正在尝试打开一个显示项目列表的模态.项目列表在视图中已作为变量提供.如何将此变量传递给模态?
下面是主视图的大致情况:
View.html.erb
<div>
<%= @users.each do |user|%>
<h1>user.name</h1>
<h2>user.email</h2>
<%= link_to remote: true, 'data-toggle' => 'modal', 'data-target' => '#taskModal do %>
<i><%= user.tasks.count%></i>
<% end %>
<% end %>
</div>
<div class="modal" id="taskModal" aria-hidden="true">
...
<%= render partial: 'list_modal' %>
Run Code Online (Sandbox Code Playgroud)
list_modal 是部分与模态的结构.
x6i*_*iae 10
与在视图中已经存在项目列表,并希望将其传递给模态相反,您可以做的一件事是使用按钮(或链接)打开模态以通过ajax调用控制器操作,然后让该动作响应JS,您现在将使用相应的view.js文件来填充模式以及以编程方式呈现它(在填充之后).
例:
链接到开放模式:
<%= link_to "Open users list", users_open_list_modal_path, remote: true %>
Run Code Online (Sandbox Code Playgroud)
用户打开列表模态控制器动作:
def open_list_modal
@user_list = User.all
respond_to do |format|
format.js
end
end
Run Code Online (Sandbox Code Playgroud)
open_list_modal.js.erb:
#populate modal
$('#modal').html('#{ escape_javascript(<%= render partial: 'user_list', locals: {user_list: @user_list} )}');
#render modal
$('#modal').openModal();
Run Code Online (Sandbox Code Playgroud)
然后在模态本身上,您现在可以访问user_list(NOT @user_list)列表.
注意:在这个例子中,我利用两个
erb,js和material-modal.如果你正在使用这些不同的(也许slim,haml,coffee,bootstrap...),你将不得不例子适合于你的情况.
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
7384 次 |
| 最近记录: |