我正在将一些视图代码重构为辅助方法,我想知道是否可以进一步简化它。
# In the view...
<%= navigation_link params[:controller], 'accounts', account_path %>
# ApplicationHelper
def navigation_link(controller_name, page_name, path_name)
if controller_name == page_name
content_tag :li, "#{page_name.capitalize.singularize}", :class => 'current'
else
content_tag :li, link_to("#{page_name.capitalize.singularize}", path_name)
end
end
将字符串 'accounts' 与路由辅助方法名称 account_path 一起传递似乎是多余的。
我真的需要传入第三个参数 path_name,还是可以在 navigation_link 帮助器中使用作为第二个参数传入的字符串来生成它?