【发布时间】:2014-08-24 07:34:26
【问题描述】:
我有 2 个模型。细分和活动模型。
Campaign has_many segmentation 和 Segmentation belongs_to Campaign。
我从用户那里获取输入并根据给定的过滤器输入创建一个特定的用户列表,并将这些输入保存在我的数据库中。
这就是我保存在我的数据库中的内容
t.string :segmentation_name
t.integer :date_range
t.string :first_event , null: false
t.integer :first_event_count
t.string :second_event
t.integer :second_event_count
t.boolean :did_the_event
t.integer :user_count
在获得所有这些输入之后
我做了所有这些 where 查询来汇集细分
time=Time.now - params[:segmentation][:date_range].to_i.days #date range basi
currentTime=Time.now
if params[:segmentation][:first_event_count].blank?
@segmentedUsers=Event.where(params[:segmentation][:first_event] + " > 0").pluck(:user_id)
@segmentedUsers=Event.where(created_at: time .. currentTime)
params[:segmentation][:user_count]=@segmentedUsers.count
else
@segmentedUsers=Event.where(params[:segmentation][:first_event] + " >" + params[:segmentation][:first_event_count] ).pluck(:user_id)
params[:segmentation][:user_count]=@segmentedUsers.count
end
但是在那之后我想在我的活动视图和控制器中使用这些细分,但是在创建一个细分之后,即使我通过他们的 user_id 获得了我想要的用户,我在我的活动控制器中并不认识他们。
所以当我在文档和 api 中寻找方法时,我找到了作用域。
所以基本上我认为我可以在我的活动控制器中从我的数据库中获取所有这些输入并在我的活动控制器中进行过滤。
但我不知道该怎么做,因为如果我理解正确,您必须在关联模型中定义范围,在这种情况下它是我的分段模型,那么我将如何继续在我的其他控制器中使用它?
先谢谢了,干杯
【问题讨论】:
-
你可能想让你的问题更简洁:)
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2 scope