0

これは Ruby の質問ですが、Rails のコンテキストで使用します。

文字列変数を使用してキー (パラメーター名) に値を割り当てるメソッドを呼び出す必要があります。

たとえば、私は得ました:

MyRailsModelClass.where(key_of_my_method: my_value)

これをもっとダイナミックにしたい。この "my_rails_model_class".classify のような MyRailsModelClass を作成できます。

key_of_my_method をより動的にして、変数に置き換える必要があります。私は次のようなことを考えています:

"my_rails_model_class".classify.where(my_key.to_sym => my_value)

誰も手がかりを持っていますか?ありがとう

4

1 に答える 1

0

実際には、分類方法だけでは十分ではありません。クラスメソッドを適用する前に定数化する必要があります。

私はこの方法で解決しました(はるかに効率的であるため、classify はさらに多くのメソッドを呼び出します: camelize(singularize(table_name.to_s.sub() ) ):

"my_rails_model_class".camelize.constantize.where("my_key".to_sym == my_value).first

しかし、あなたはもっと長い方法でそれを行うことができます:

"my_rails_model_class".classify.constantize.where("my_key".to_sym == my_value).first
于 2013-01-14T16:18:08.917 に答える