dsc*_*etz 1 activeadmin ruby-on-rails-4
link_to我在尝试使用ActiveAdmin 的帮助程序创建超链接时遇到了一些意外行为status_tag。将 a 传递status_tag给该link_to方法会导致标签呈现两次。
具体来说,如果您有 ActiveAdmin 资源,请将其命名为 Foo.rb:
ActiveAdmin.register Foo do
index do
column "Bar" do |hh|
link_to status_tag('test', label: 'testing', class: 'error'), edit_admin_bar_path(hh.bar)
end
end
end
Run Code Online (Sandbox Code Playgroud)
这会在索引表中生成以下 html:
<td class="col col-bar">
<span class="status_tag test error">testing</span>
<a href="/admin/bar/1/edit">
<span class="status_tag test error">testing</span>
</a>
</td>
Run Code Online (Sandbox Code Playgroud)
查看 的源代码,status_tag我不禁想知道它在super构建方法中调用时是否渲染标签,并在完成时返回ActiveAdmin::Views::StatusTag并将该值传递给link_to。但我并不完全确定。
我在 Google 上找不到与此问题相关的任何其他问题或任何特定于此问题的内容。这是某些期望行为的副作用吗?或者这个用例不是这些方法之一的设计目的?
我在用着:
提前致谢。
小智 5
解决方法可能是将 status_tag 包装到新的 Arbre 上下文中。这应该避免将标签直接写在主上下文上
像这样的东西:
link_to Arbre::Context.new { status_tag('test', label: 'testing', class: 'error') }, edit_admin_bar_path(hh.bar)
我知道……看起来很丑!但是您可以将其放入 Rails 帮助程序中或将其编码为 Arbre 组件。
| 归档时间: |
|
| 查看次数: |
824 次 |
| 最近记录: |