2012-07-23 81 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