Rails在提供方法时覆盖rel属性

时间:2011-06-21 02:24:45

标签: ruby-on-rails ruby-on-rails-3 rel

在Rails 3中,当使用method的{​​{1}}属性时,我的自定义link_to值会被覆盖。

rel

这是一个Rails错误/意外功能吗?如何在提供自定义# my code: link_to 'Add to Favorites', profile_favorites_path(profile), :method => :post, :class => 'button', :rel => 'favorite' # expected result: <a href="/profiles/1/favorites" class="button" data-method="post" rel="favorite nofollow">Add to Favorites</a> # actual result: <a href="/profiles/1/favorites" class="button" data-method="post" rel="nofollow">Add to Favorites</a> 值的同时使用内置method功能?

1 个答案:

答案 0 :(得分:4)

如果rel设置为get,则只能指定method属性。

action_view/helpers/url_helper.rb add_method_to_attributes!内,你可以看到逻辑轨道当前正在使用它:

def add_method_to_attributes!(html_options, method)
  html_options["rel"] = "nofollow" if method && method.to_s.downcase != "get"
  html_options["data-method"] = method if method
end

这实际上是有道理的,你不希望在抓取链接时发布机器人/蜘蛛。