Ruby on rails 创建多个表单而不向控制器中注入新对象

Ruby on rails 创建多个表单而不向控制器中注入新对象,ruby-on-rails,ruby,ajax,forms,Ruby On Rails,Ruby,Ajax,Forms,如何创建多个表单而不必在控制器中创建对象/通过ajax加载它们 假设你有一个论坛模型,它有许多帖子,每个帖子都有许多标签。您正在查看forms\u controller#index上的帖子列表 假设您希望允许用户标记来自同一模板的帖子。一种方法是在需要时通过远程链接加载表单 # forums/index.html = link_to "Add Tag", new_post_tag_path, remote: true # tags_controller.rb def new @tag =

如何创建多个表单而不必在控制器中创建对象/通过ajax加载它们

假设你有一个论坛模型,它有许多帖子,每个帖子都有许多标签。您正在查看
forms\u controller#index
上的帖子列表

假设您希望允许用户标记来自同一模板的帖子。一种方法是在需要时通过远程链接加载表单

# forums/index.html
= link_to "Add Tag", new_post_tag_path, remote: true

# tags_controller.rb
def new
  @tag = @post.tags.build
  respond_to do |format|
    format.js
  end
end

# tags/new.js.erb
<%= j render("form") %>
如果您想同时创建多个标记,那么这种方法不太有效


有没有其他方法可以做到这一点,也许是使用JS,而不必像第二种方法那样去服务器/或创建对象?

Ryan Bates在这个问题上做了一个很棒的屏幕广播。希望这能提供您所需要的。

谢谢,但我认为这需要往返服务器,不是吗?如果我想在页面中添加表单而不进行往返,为什么?
- @posts.each do |post|
  = form_for @post.tags.build do