2016-07-20 5 views
1

依存関係を文字列形式で呼び出す方法はありますか?ここで文字列形式のオブジェクトを使用して依存関係を呼び出す

私のモデルは以下のとおりです。

ユーザー

has_many :addresses 

住所

belongs_to :user 

そして、ここでは、私がやろうとしています。私は特定のユーザーのすべてのアドレスを取得したいと私は動的にしたいので"addresses"は文字列にしたい。たとえば、"some_models_related_to_user"を変更したいとします。

user."addresses".first 

ありがとう!

答えて

2

あなたはsendまたはpublic_send方法使用して、それを行うことができます。代わりにこのコードの

を:

user."addresses".first 

は答えの下に試してみてください。

sendを使用する:

user.send("addresses").first 

または使用public_send

user.public_send("addresses").first 
+1

ここで 'public_send'をよく使う。 –

+0

パーフェクト!ありがとう! –

+0

@SergioTulentsev、ありがとう、あなたの提案で私の答えを更新する – araratan

関連する問題