我在Product
模型中定义了一个范围:
class Product < ActiveRecord::Base
attr_accessible :send_to_data # this is a boolean column
scope :my_products, where(:send_to_data => true)
end
然后在我的控制器中:
class ProductsController < ApplicationController
def index
@my_products = current_user.products
end
end
最后我的观点:
<% for product in @my_products %>
<%= product.user_id %>
<%= product.name %>
<%= product.send_to_data %>
<% end %>
但它仍会呈现所有产品,包括:send_to_data
标记为false的产品。
如何仅为我的示波器获取?
答案 0 :(得分:2)
指定范围必须直接用于以下产品:
def index
@my_products = current_user.products.my_products
end
命名范围不会更改“产品”关系的默认行为。当你想使用它时,它必须通过它的名字来调用。