dom_id和dom_class如何在rails中工作

时间:2014-07-01 20:33:24

标签: ruby-on-rails ruby ruby-on-rails-4

有人能简单解释一下dom_iddom_class如何在铁轨中工作?在什么情况下我们可以考虑使用它。即使在ApiDock中,我也找不到任何内容。

仅限于铁轨吗?

2 个答案:

答案 0 :(得分:4)

我从未使用过它,或者看过它。如果你查看你提供的链接上的来源,你会看到ActiveSupport::Deprecation.warn(INSTANCE_MESSAGE % 'dom_id'),这种印象是你不应该使用这些方法。

但是,看起来如果你查找ActionView等价物(由你链接的那个调用),那么就有一些文档:

http://api.rubyonrails.org/classes/ActionView/RecordIdentifier.html#method-i-dom_id

这些看起来似乎也没有被弃用。

答案 1 :(得分:3)

直到今天我才看到这些,但它们看起来很有用。

dom_iddom_class是您可以在HTML中使用的辅助方法,用于转换获取对象的一致html id属性和类属性。

http://api.rubyonrails.org/classes/ActionView/RecordIdentifier.html#method-i-dom_id

例如,您可能希望在索引页面中执行以下操作:

<ul>
  <%= @accounts.each do |account| %>
    <li id="<%= dom_id(account) %>">
      <%= account.title %>
      <%= link_to "Edit", edit_account_path(account), class: dom_class(account, :edit) %>
    </li>
  <% end %>
</ul>

这将为您提供一个列表,其中每个li标记都具有account_X格式的ID,其中X是ActiveRecord ID。您可以使用此ID,然后使用javascript等来定位正确的元素。

此外,如果您想要样式化或选择这些常见元素,上面的代码会为每个编辑链接提供一个edit_account类。