2012-07-23 83 views
0

这个rails应用程序我写的有用户,用户有很多项目。我写了一个帮助函数来帮助链接到页面。Rails - 在哪里放置路径助手?

def new _or_edit_user_path(*user) 
    if user[0] && user[0].id 
    edit_user_path user[0] 
    else 
    new_user_path 
    end 
end 

def new_or_edit_user_project_path(user, *project) 
    if project[0] && project[0].id 
    edit_user_project_path user, project[0] 
    else 
    new_user_project_path(user) 
    end 
end 

但现在我想测试这些和它越来越明显,轨道不希望我这样做。你会推荐什么?

+0

把这些路径到'应用程序/ helpers'并将它们包括在您使用他们的任何控制器(他们就已经提供给您的意见)。通过包含'Rails.application.routes.url_helpers'来测试它们。 – 2012-07-23 19:43:34

+0

这就是我现在所知道的。头脑详细阐述'Rails.application.routes.url_helpers' – epicgrim 2012-07-23 20:09:06

回答

1

钢轨路由页面给你。如果你不太熟悉这种方法链接到nested resources.

一个更好的办法,你可以在你的项目的根文件夹去(如你拨打轨S)并做“耙路”。这将为您提供使用此方法添加的路线。

这里有一个嵌套的资源的一个例子:

resources :users do 
    resources :projects 
end 
+0

我正在那样做。但我希望能够将条件逻辑移出我的观点。我试图避免的是这样的一行:“<%if @ user.projects.length == 0 then%>'然后连接到一个新的项目路径。并在其他链接到第一个项目的编辑。 – epicgrim 2012-07-23 19:49:49