gpt4 book ai didi

javascript - 许多对象的模态 Rails Form_for

转载 作者:行者123 更新时间:2023-11-30 08:29:40 27 4
gpt4 key购买 nike

如果有更好的方式来表达这个问题,或者有更好的方式来做到这一点,请告诉我。

我想使用模态的 form_for 更新一些模型。用户单击“编辑”和带有字段的模式弹出窗口,然后可以单击提交或取消。我可以做到这一点的一种方法是为每个模型创建一个模态,但这似乎是错误的,并且真的会增加 html.erb 文件的体积。

我该怎么做?我猜我以某种方式使用了远程功能?

<div class="modal fade" id="edit-modal" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<%= simple_form_for(@rate) do |f| %>
<%= f.label "Rate / session" %>

<%= f.input :rate_dollars, :label => false, collection: 0..100, :selected => @dol_amt, :include_blank => false %>
<%= f.input :rate_cents, :label => false, collection: {".00" => 0, ".25" => 0.25, ".50" => 0.50, ".75" => 0.75}, :selected => @cent_amt, :include_blank => false %>

<%= f.hidden_field :uid, :value => @user.id %>
<%= f.submit "Update", class: "btn btn-primary" %>
<% end %>
</div>
</div>
</div>

最佳答案

我完成它的方法是在索引页面中设置一个模态骨架,然后使用一些 JS 来加载表单,其中 Controller 操作响应 format.js 部分表单.

<div id="user-form-edit" class="modal fade">
<div class="modal-dialog modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3>Edit User</h3>
</div>
<div class="modal-body"></div>
</div>
</div>

然后在一个JS文件中:

$('#user-form-edit').on("show.bs.modal", function(e) {
$(this).find('.modal-body').load(e.relatedTarget.dataset.url);
});

在 Controller 中:

def edit
@user = User.find(params[:id])
respond_to do |format|
format.js { render partial: "form", locals: {user: @user}}
end
end

这样,您就有了一个可用于所有用户的模式。

-- 编辑如何打开模态---

<%= link_to "#", class: "btn btn-warning edit",
data: {
toggle: "modal",
url: edit_admin_user_path(user.id),
target: "#user-form-edit"} do %>
<i class="glyphicon glyphicon-edit glyphicon-white"></i>
Edit
<% end %>

关于javascript - 许多对象的模态 Rails Form_for,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39902279/

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