在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
功能?
答案 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
这实际上是有道理的,你不希望在抓取链接时发布机器人/蜘蛛。