2012-04-27 27 views
1

我正在開發一款rails 3應用程序,它針對特定用戶或移動設備具有不同的子域。有什麼辦法在運行時從控制器視圖路徑中刪除特定的視圖路徑?

這是視圖結構的樣子:

應用程序/

----視圖/

--------移動/

--- ----- admin/

可以通過簡單的調用

將新的視圖路徑添加到路徑集

append_view_path(some_path) 

現在,我想太刪除它們。

有什麼辦法從控制器path_set中刪除任何以前添加的路徑? 我沒有找到API中的任何有用的方法和使用標準方法時,我會在陣列上使用(如delete_at例如)我得到以下RuntimeError:

can't modify frozen array 

我已經使用了不同的MIME類型例如,來自移動設備的請求。如果我無法刪除添加的路徑,這並不算太壞。我只是在尋找一種重置爲「默認」視圖路徑的方式。

回答

1

Rails提供了另外兩種getter和setter方法 - 分別爲view_paths()view_paths=方法。我相信使用'view_paths ='方法,你可以刪除動態附加的視圖路徑。

+0

謝謝。顯然,真的沒有其他方法可以從視圖路徑中刪除條目。 – rathrio 2012-04-27 12:31:33

0

它看起來像你想禁止普通用戶使用管理功能。更好的方法是使用'cancan'之類的「授權」插件。

相關問題