什么是x:在rails中调用的标识符?

时间:2016-11-07 22:46:48

标签: ruby

我们什么时候在ruby中的标识符之后使用冒号?例如:

<%= f.input :XML, as: :file, wrapper: :vertical_file_input %>

这里我们有as:但是f.input我们没有冒号。

那些x:标识符是什么?我们如何决定是否放一个冒号呢?

1 个答案:

答案 0 :(得分:2)

它只是语法糖。

{as: :file, wrapper: :vertical_file_input}

是一个Hash,等于

{:as=>:file, :wrapper=>:vertical_file_input}

我个人认为第一个版本更具可读性。

所以x:只是:x(符号)作为哈希的关键。

f.input :XML, as: :file, wrapper: :vertical_file_input

是方法&#34;输入&#34;调用对象f,其中:XML作为第一个参数,{:as =&gt;:file,:wrapper =&gt;:vertical_file_input}作为第二个参数。你也可以写下来:

f.input(:XML, {as: :file, wrapper: :vertical_file_input})

这种方法调用在Rails中很常见。