除了rails中的方法有什么作用?

时间:2013-05-17 04:50:56

标签: ruby-on-rails

我在Controller中有以下代码。从中理解它是非常困难的。

allow user: :is_admin?, :except => [:new, :create]

除了方法在这里做什么之外,很难理解。

4 个答案:

答案 0 :(得分:3)

上面一行中的

:expect表示允许用户if_admin?为所有操作 EXCEPT :new和:create返回true。希望有所帮助。

答案 1 :(得分:1)

:except不是方法,它是用作哈希键的符号。

你的代码搞砸了两种散列样式,方法是allow

参数是哈希{:user => :is_admin?, :except => [:new, :create]}

答案 2 :(得分:0)

请参阅文档以获取正确解释的允许方法。 但我的假设是

  • 允许管理员执行所有操作
  • 允许用户执行除以下操作之外的所有操作:new和:create

答案 3 :(得分:0)

:except指定无法访问控制器中的:new:create操作。但是,is_admin?是一个布尔值,如果条件为真,则求值为true。因此,如果用户是管理员,他将有权访问:new和:create,但可以访问控制器中的所有其他操作。根据你的评论,这就是你所要求的。

如果用户是管理员,则可以允许用户通过:except的倒数访问:new和:创建操作,方法是将:except更改为:only