我正在使用
创建类似Basecamp的应用简要介绍,用户可以创建/加入多个组,每个组用户都可以通过嵌套资源创建事件,从而创建url,如user_group /:id / events。
在事件表中,除了标题/描述等之外,我添加了user_group_id,当用户添加新事件时会自动从params添加,而且我想从url获取user_group_id然后在index中只显示记录这个特殊的组,当生成索引方法时,我无法使用params,起初它从url读取params就好了,使用
def index
@events = Event.where(user_group_id: params[:user_group_id])
end
并调用params,显示
=> {"controller"=>"events", "action"=>"index", "user_group_id"=>"4"}
这是我想要的参数,但在第二次调用时,我假设在生成json之后开始,并将它们发送到 fullcalendar rails gem
=> {"start"=>"2016-01-31", "end"=>"2016-03-13", "_"=>"1456169154203", "controller"=>"events", "action"=>"index", "format"=>"json"}
当然会导致
Event Load (1.0ms) SELECT "events".* FROM "events" WHERE "events"."user_group_id" IS NULL
这是我的index.json.builder文件
json.array!(@events) do |event|
json.extract! event, :id, :title, :description, :user_group_id, :creator_id
json.start event.start_time
json.end event.end_time
json.url user_group_event_url(event.user_group_id, event.id, format: :html)
end
另一件事是我只是将@event变量设置为
@event = Event.all
或硬编码f.e。
@event = Event.where(user_group_id: 4)
它有效,但我不能让它与params一起工作。所以,我的主要问题是,有没有办法从url获取params并将它们放入该查询中,以便它可以使用这个gem,或者是否有更简单的方法。感谢