我的所有控制器都继承自applicatin_controller.rb,我添加了:
助手:全部
我想在我的视图中使用此功能来制作网址:
/后/一些标题
而不是使用ID int int url
def post_path_for(post)
post_path(:id => post.title_parameterize)
end
这是rails 3。
答案 0 :(得分:4)
您是否可以在模型中使用“to_param”来更改它而无需编写帮助程序?
答案 1 :(得分:2)
这取决于您想如何使用它
如果是帮手,您可以在视图中拨打<%= post_path_for post %>
如果它在模型中,只需稍加改动就可以这样称呼:<%= post.path %>
虽然第二种方式较短,但为了逻辑和表现的分离,我通常会将这些功能放在助手中。
答案 2 :(得分:0)
我同意尼基塔的观点。这对我来说听起来像是一个帮手。我使用帮助器来显示任何东西。听起来您希望所有视图都可以使用它。如果是这种情况,我会把它放在helpers / application_helper.rb
中答案 3 :(得分:0)
to_param
方法, +1。使用to_param
,您可以使用内置网址助手(例如link_to
,url_for
,...本机)
另一方面,你提到你把它放在控制器中并希望在视图中使用它。您需要以下一行:
helper_method :post_path_for