Rails cocoon 动态创建link_to_add_association
Posted
技术标签:
【中文标题】Rails cocoon 动态创建link_to_add_association【英文标题】:Rails cocoon dynamic creation of link_to_add_association 【发布时间】:2018-08-26 17:16:59 【问题描述】:我有一个表单,它允许向表单添加可能数百种不同的关联类型。我正在使用 cocoon gem 的 link_to_add_association
但渲染 100 个链接非常慢,因为它们填充了添加它们所需的所有 html。有没有办法从 ajax 请求动态创建链接?问题是link_to_add_association
需要在初始页面请求后不可用的表单构建器对象。
作为旁注,链接是分组的,因此如果我希望在单击该特定组时呈现该特定组的链接。
【问题讨论】:
【参考方案1】:我最终为每个请求渲染了一个新表单,这似乎工作得很好。
【讨论】:
如果你觉得它也关闭茧宝石票。 对我来说仍然有点不清楚你是如何解决它的?而不是使用link_to_add_association
,而是使用表单的链接?
@nathanvda 我最终呈现了一个全新的表单,其中仅包含所需的链接。最初我认为这会导致问题,但它工作得很好。 ;)【参考方案2】:
我解决了这个问题,为同一个对象创建了一个表单构建器,并将对象传递给部分
action.js.erb
'<%= form_for(@object) do |ff| %>'
$('#some_div').html("<%= j render(partial: 'some_partial', locals: f: ff)%>"
'<% end %>'
注意单引号,这是为了避免 javascript_escape 问题
【讨论】:
以上是关于Rails cocoon 动态创建link_to_add_association的主要内容,如果未能解决你的问题,请参考以下文章
使用 COCOON Rails 3 在动态字段中自动完成 Jquery
Rails 4 & cocoon gem:无法将 3 级子级添加到动态添加的 2 级子级
在 Ruby on Rails 4.2 中使用 Cocoon gem 嵌套表单
我可以在 Rails 中使用 link_to 创建一个链接数组吗?