我使用的是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
只需将其插入某个初始值设定项中,就可以开始了,即使它会生成警告,因为该常量以前已经定义过了。