1

私はコントローラーと2つのモデル、ユーザーとストアを持っています。ユーザーhas_manyは格納します。ストア内には、アイテムをリストするメソッドget_itemsがあります。get_items自体には、ユーザーへの参照が必要です。私が今やったことは次のとおりです

@items = user.stores.first.get_items(user)

最初の呼び出し元はget_itemsメソッドの引数として自分自身を渡す必要があるため、これは私には奇妙に見えます。あなたは何をお勧めします?

最高、フィル

4

1 に答える 1

1

2つの方向で関係を定義した場合、

class User < ActiveRecord::Base
  has_many :stores
end

class Store < ActiveRecord::Base
  belongs_to :user
end

次に、インスタンスuser内でストアが属するにアクセスできます。Storeだからあなたは書くことができるはずです

def get_items
   do_something_with user
end

正しいユーザーを使用する必要があります。get_itemsの呼び出しは、次のようになります。

@items = user.stores.first.get_items

個人的にはに名前を変更get_itemsitemsます。

于 2012-08-01T19:18:20.377 に答える