Devise.friendly_token的类似数组的参数

时间:2017-02-12 18:03:00

标签: ruby-on-rails ruby devise

我知道Devise.friendly_token(20)会创建一个20个字符的长密码。但是,我正在看这一行:

Devise.friendly_token[0,20]

我不明白这些参数的含义。我在看什么,这是一种出现在其他环境中的语法吗?

1 个答案:

答案 0 :(得分:1)

表达式中的括号:

Devise.friendly_token[0,20]
# -------------------^----^

正在应用于Devise.friendly_token返回值,因此您拥有的内容相当于:

token = Devise.friendly_token
token[0,20]

或:

Devise.friendly_token()[0,20]
(Devise.friendly_token)[0,20]

请记住,方法调用括号在Ruby中通常是可选的,并且在没有任何参数的情况下调用相关方法时几乎从不使用。

BTW,Devise.friendly_token可以采用零个或一个参数:

  

.friendly_token(length = 20) ⇒ Object

     

随机生成友好字符串以用作令牌。默认情况下,长度为20个字符。

因此,您可以说Devise.friendly_token使用默认lengthDevise.friendly_token(6)来使用非默认长度。