2016-05-13 15 views
0

ネストされたフォームでは、フィルタ/スコープの要素を表示できますか?ネストされたフォームで表示されたフィルタまたはスコープのリレーション

例:

class User 
    has_many :user_shop_datas 
end 

ビュー:

form_for @user do |f| 
    f.fields_for :user_shop_datas 
    .... 


class UserShopData < ActiveRecord::Base 
    belongs_to :user 
    validate :user, uniqueness:{scope: :shop_id} 
    belongs_to :shop 
    scope :from_shop, -> (shop) { where(shop_id: shop) } 
end 

私は動的であるwhere shop: current_shopを持つユーザーのネストされた形、私はそれをどのように行うかをフィルタリングしたいですか?

答えて

0

あなたは、単に(私は:user_shop_datasのモデルがUserShopData

user_shop_data.rb

class UserShopData < ActiveRecord::Base 
    scope :from_shop_id, -> (shop_id) { where(shop_id: shop_id) } 
end 

で期待ですから、ビューで照会することになり、あなたのUserShopDataにスコープを定義することができます。

form_for @user do |f| 
    fields_for @user.user_shop_datas.from_shop_id(current_shop.id) 
    .... 
+0

NilClassの未定義メソッド\ 'model_name ':クラス' – Syl

+0

うん、 'user_shop_datas'のモデルをどう定義するか –

+0

ねえ更新をチェックしてください –

関連する問題