gpt4 book ai didi

ruby-on-rails - ROR 将参数传递给模态

转载 作者:行者123 更新时间:2023-12-04 03:50:09 25 4
gpt4 key购买 nike

我正在尝试打开一个显示项目列表的模式。项目列表已作为变量出现在 View 中。如何将此变量传递给模态?

下面是主 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' %>
list_modal是具有模态结构的部分。

最佳答案

与 View 上已有项目列表并希望将其传递给模态相反,您可以做的一件事是制作用于打开模态的按钮(或链接)以通过 ajax 调用 Controller 操作,然后让该操作响应 JS,您现在将在其中使用相应的 view.js 文件来填充模态并以编程方式呈现它(在填充它之后)。
示例:
打开模态链接:

<%= link_to "Open users list", users_open_list_modal_path, remote: true %>
用户打开列表模态 Controller Action :
def open_list_modal
@user_list = User.all
respond_to do |format|
format.js
end
end
open_list_modal.js.erb:
//populate modal
$('#modal').html('#{ escape_javascript(<%= render partial: 'user_list', locals: {user_list: @user_list} %> )}');

//render modal
$('#modal').openModal();
然后在模态本身上,您现在可以访问 user_list (不是 @user_list )列表。

Note: In this example, I made use of both erb, js, and material-modal. If you are using something different from these ( maybe slim, haml, coffee, bootstrap...), you will have to suite the example to your case.


希望这可以帮助。

关于ruby-on-rails - ROR 将参数传递给模态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34890989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com