如何强制content_tag_for在制作元素的 id 时使用破折号而不是下划线?



我使用的是jQuery UI的选项卡,它似乎不喜欢使用下划线将记录与id连接起来的content_tag_for方法。有没有一种方法可以强制content_tag_for使用破折号而不是下划线,而不用在我的应用程序助手中用一些讨厌的gsub重新定义content_tag_for?这是我的代码。

  <ul class="ui-tabs-nav">
    <% @preview_articles.each do |article| %>
      <%= content_tag_for(:li, article, 'nav-fragment', :class => "ui-tabs-nav-item #{'ui-tabs-selected' if article == @preview_articles.first}") do %>
        <%= link_to image_tag(article.photos.first.image.url(:thumbnail)), "#fragment-#{article.id}" %>
      <% end %>
    <% end %>
  </ul>

我需要li标签的id为nav片段文章id,而content_tag_for正在创建一个类似nav-fragment-article_id的id。

任何关于让jqueryui的选项卡使用下划线的建议都是受欢迎的。

您可以对ActionController::RecordIdentifier进行猴子补丁,如下所示:

module ActionController
  module RecordIdentifier
    JOIN = '-'.freeze
  end
end

只需将其插入某个初始值设定项中,就可以开始了,即使它会生成警告,因为该常量以前已经定义过了。

相关内容

  • 没有找到相关文章

最新更新