dom_id 和 dom_class 如何在 Rails 中工作

Rah*_*ess 6 ruby ruby-on-rails ruby-on-rails-4

任何人都可以简要解释一下Rails 的工作方式dom_iddom_class工作方式吗?什么时候我们可以考虑使用它。我在上面找不到任何东西,即使在ApiDock 中

它仅特定于导轨吗?

bra*_*che 6

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

但是,看起来如果您查找 ActionView 等效项(由您链接的那个调用),则有一些文档:

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

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


chr*_*eim 6

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>
Run Code Online (Sandbox Code Playgroud)

这将为您提供一个列表,其中每个li标签都有一个 id,格式为account_XX 是 ActiveRecord ID。您可以将此 ID 用于 javascript 等以定位正确的元素。

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