我正在尝试链接一个按钮来插入一个新项目的表单。我希望能够添加一个新的形式为每个按钮点击使用涡轮框架。我在增加每个帧的id时遇到了困难,因此添加了一个新的turbo框架,而不是仅仅替换旧的。我不希望数据保存在我的数据库中,直到用户完成添加项并对其进行验证。
在我新的大宗商品页面上..。
<%= button_to 'Add One', new_item_path,
data: { turbo_frame: dom_id(item.new)}, method: :get %>
<%= turbo_frame_tag dom_id(item.new) do %>
<% end %>在我的新项目页面上..。
<%= turbo_frame_tag dom_id(item.new) do %>
<%= simple_form_for [@item] do |f| %>
<% end %>
<% end %>我看到一篇文章声称用这个成功了..。
new_item_#{params.fetch(:index) + 1}我尝试过集成它,但是得到了相同的错误'param是缺失的,或者值是空的: index ',这是我在尝试传递:index时遇到的问题。如何在两个帧之间增加索引?
发布于 2022-10-28 08:51:37
如果只有一个“添加新”按钮,则可以使用turbo流追加操作插入多个新窗体。
当控制器中的新方法响应传入的turbo流请求时,您可以调整响应。
<%# new.turbo_stream.erb %>
<%= turbo_stream.append "items" do %>
<%= render partial: "items/form", locals: {item: @item} %>
<% end %>在定义了"items" id的地方,将注入新的表单分部。
<%= button_to 'Add One', new_item_path,
data: { turbo_frame: dom_id(item.new)}, method: :get %>
<li id="items">
<!-- the injected forms will come be injected here -->
</li>https://stackoverflow.com/questions/74215480
复制相似问题