gpt4 book ai didi

ruby-on-rails - 包装单个表单的 Rails 表单

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:02 25 4
gpt4 key购买 nike

考虑这个设置。在我的 Blogs#index 页面中,我可以更新每个单独的博客记录。这是它的样子:

blogs index

这是它的代码:

<h1>Listing Blogs</h1>

<div class="row">
<div class="col-sm-4"><b>ID</b></div>
<div class="col-sm-4"><b>Title</b></div>
<div class="col-sm-4"><b>Actions</b></div>
</div>

<% @blogs.each do |blog| %>
<%= form_for(blog) do |f| %>
<div class="row">
<div class="col-sm-4">
<%= blog.id %>
</div>
<div class="col-sm-4">
<%= f.label :title %>
<%= f.text_field :title %>
</div>
<div class="col-sm-4">
<%= f.submit class: "btn btn-success" %>
</div>
</div>
<% end %>
<br>
<% end %>

<%= link_to 'New Blog', new_blog_path %>

还不错。但现在我想做的是添加一个包装这些表单的表单。这个表单将允许您选择您想要的博客对象,然后发布到某个 Controller ,获取您选择的每个博客记录的 id:

select_box

以上只是一个模型。我不知道该怎么做,这就是问题所在。

这个想法是用户可以提交两种类型的表单:

  • wrapping 表单,用于张贴所选 blogsid
  • 或其中一种包装 形式,它只会转到您要更新的个人博客记录的Blogs#update 操作。

因为我不能在其他表单中嵌套表单,所以我能想到的唯一方法是使用 javascript:

  • 封装表单的按钮转换为ajax请求
  • 当点击 Do something with selected blogs 按钮时,使用 javascript 查看每个选中复选框的关联 blog id 是什么,将其添加到数组中,然后然后调用 get 请求以及作为参数的 blog id

我强烈希望不使用 javascript。有什么方法可以让我在不使用 javascript 的情况下保持相同的布局,这将允许我发布到 wrapped 表单,但也发布任何 individual 表单是在包裹的形式里面吗?

最佳答案

也许最简单的答案是为每个项目设置重复字段(取决于您的需要)并将重复项设置为隐藏。然后,只要您关心的任何字段发生更改,您需要编写的 javascript 就会将数据从非隐藏表单复制到隐藏表单中。通过这种方式,您可以将第二个表单放在上面的表单下方,它看起来就像您的模型中的按钮一样。

关于ruby-on-rails - 包装单个表单的 Rails 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38258524/

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