2016-11-07 16 views
1

我們什麼時候在ruby的標識符之後使用冒號?對於如:什麼是那些在rails中調用的標識符?

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

我們在這裏有as:f.input我們沒有冒號。

什麼是那些x:標識符被稱爲?以及我們如何決定是否放置冒號?

回答

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 

是方法 「輸入」 呼籲對象F,其:XML作爲第一個參數,{:爲=>:文件,:包裝=>:vertical_file_input}作爲第二個參數。你也可以這樣寫:

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

這種方法調用在Rails中很常見。

+0

查看修改後的版本。 –

相關問題