如何在没有link_to的情况下实现Remote:True功能?
我正在尝试实现嵌套模型,以下是路由文件条目:
resources :projects do
resources :instances
end
以下是项目控制器的代码片段:
# GET /projects/new
def new
@project = Project.new
@project.instances.build
end
和项目的窗体视图:
<%= simple_form_for(@project) do |f| %>
...
<%= label_tag :instance_count, "Instance Count" %>
<%= select_tag :instance_count, options_for_select([0, 1, 2, 3, 4, 5], 0) %>
...
<% end %>
现在,当我更改实例计数的数量时,我需要在上面的表单下面多次显示实例字段。以下是其中的部分代码:
<%= form.simple_fields_for :instances do |i| %>
...
<% end %>
基本上我需要从项目的javascript文件中调用<%= render 'instances/form', form: f %>
。它应该像使用remote: true
选项链接一样工作。但在这种情况下没有链接,但在发生更改事件时,需要显示表单。我应该如何实现这一点?
解决方案
我建议您使用https://github.com/nathanvda/cocoon
或者您可以使用类似的方法:以初始形式呈现部分(Display:None),然后使用js删除并保存部分字段,并在点击选择器时将它们克隆到表单中。
相关文章