1

我正在开发一个 Rails 3 应用程序,该应用程序具有针对特定用户或移动设备的不同子域。

这是视图结构的样子:

应用程序/

----观看次数/

- - - - 移动的/

- - - - 行政/

可以通过简单的调用将新的视图路径添加到路径集中

prepend_view_path(some_path)

或者

append_view_path(some_path)

现在,我也想删除它们。

有没有办法从控制器 path_set 中删除任何先前添加的路径?我在 API 中没有找到任何有用的方法,当使用我在数组上使用的标准方法时(delete_at例如),我得到以下 RuntimeError:

can't modify frozen array

例如,我已经为来自移动设备的请求使用了不同的 mime 类型。如果我不能删除添加的路径,那还不错。我只是在寻找一种重置为“默认”视图路径的方法。

4

2 回答 2

1

Rails 提供了另外两个 getter 和 setter 方法——分别是 view_paths()view_paths=方法。我相信使用 'view_paths=' 方法,您可以删除动态附加的视图路径。

于 2012-04-27T09:03:33.520 回答
0

看起来您想禁止普通用户使用管理功能。更好的方法是使用像'cancan'这样的 'authorization' 插件。

于 2012-04-28T15:41:49.430 回答