2017-10-16 35 views
0

我想傳遞一個字符串變量,將用作屬性名稱。開拓者可表示更改屬性名稱與變量

舉例來說,如果我有可變property_name,其中包含一個字符串,我想要做這樣的事情:

property :property_name, type: String, getter: ->(_) { "sample text" } 

和屬性名稱將取決於我的變量中哪些文本改變。

是這樣的可能嗎?如果是這樣,那麼這樣做的語法是什麼?

感謝您的幫助!

回答

0

我發現最簡單的方法來完成這個是通過使用:if選項。

例如:

property :name1, type: String, if: ->(_) { property_name == 'name1' }, getter: (_) { "sample text" } 
property :name2, type: String, if: ->(_) { property_name == 'name2' }, getter: (_) { "sample text" } 

上面將允許我在可變PROPERTY_NAME通過。如果我將property_name的值設置爲「name1」,則將呈現第一個屬性語句。如果我將property_name設置爲「name2」,則第二個屬性語句將被渲染。