0

どうかお元気で!

親切な魂が助けてくれるかどうか疑問に思っていた一般的な質問がありますか? 現時点では好奇心の問題ですが、将来的には非常に役立つ情報の断片になる可能性があると思います.

テーブルの名前と属性 (列) の名前を渡してこれらの操作を実行できるメソッドを作成することは可能ですか? このようなメソッドの主な用途は、テーブルで繰り返し操作を行うときにコードをドライに保つことだと思います。

例として(完全におもちゃの例ですが)メソッドがあるとします:

def switch(table_name, column_name)
    #do some operation on table_name.column_name
end

次のようにして、テーブルにアクセスする方法を見つけました。

def model_for_table(table_name) 
    table_name.to_s.classify.constantize 
end

これは underscored_lowercase_string を取り、テーブル名を返すのでmodel_for_table("registered_user").find(1)、テーブル名をハードコーディングできる状況ではこれは不要ですが

model_for_table("registered_user").column_nameしかし、上記の例で使用されているようには好きではありません。model_for_table文字列を属性名に変換するために上記で提供されたメソッドに類似したものはありますか?

これを実装する方法を知っている人はいますか?それは可能ですか?

前もって感謝します

4

1 に答える 1