2017-10-16 9 views
0

プロパティ名として使用される文字列変数を渡したいと思います。トレイルブレイザー代表変数変更プロパティ名

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

と私は、変数の内側に持っているもののテキストに応じて変化するであろうプロパティ名:私は、文字列を含む変数property_nameを、持っている場合

は例えば、私はこのような何かをしたいです。

これは可能でしょうか?もしそうなら、そのための構文は何ですか?

ありがとうございました!

答えて

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"に設定すると、代わりに2番目のプロパティー・ステートメントがレンダリングされます。

関連する問題