是否可以在嵌套表单中过滤/范围显示的元素?
示例:
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 :(得分:0)
您只需在UserShopData
中定义范围(我希望:user_shop_datas
的模型为UserShopData
<强> user_shop_data.rb 强>
class UserShopData < ActiveRecord::Base
scope :from_shop_id, -> (shop_id) { where(shop_id: shop_id) }
end
所以你在视图中查询将是:
form_for @user do |f|
fields_for @user.user_shop_datas.from_shop_id(current_shop.id)
....