Rails私有视图和控制器

时间:2012-09-22 14:27:40

标签: ruby-on-rails

是否可以创建私有viewcontroller,以便我只能从代码中以某种方式调用它?

我希望能够在我的应用程序的不同部分显示动态widgets。我考虑为他们创建controllerview,然后在我想要的地方渲染它们,然后人们只需输入正确的网址就可以看到它们。

或许我可以通过routes.rb中的某些规则阻止这种情况?

2 个答案:

答案 0 :(得分:1)

我认为您的问题将使用partial views解决,您需要像部分视图一样创建每个小部件,并在视图中调用您想拥有小部件的每个部分。

此外,您可能需要像普通视图一样加载变量。

答案 1 :(得分:0)

您可以将filtters放入控制器中以执行特定操作。那样只有具有特定权限的人(管理员?)才能访问它:

before_filter :require_login

private     
def require_login
    unless logged_in?
      flash[:error] = "You must be logged in to access this section"
      redirect_to new_login_url # halts request cycle
    end
end