在同一个控制器

问题描述:

我已经搜查我的活动模式在同一个控制器

在我的控制器设置Rails4多洗劫搜索我有分别指指数,即将到来的和myevents三个动作。 指数显示所有事件 会来 myevents显示用户自己的事件

由于他们看起来都一样的观点,即将到来的和myevents使用索引模板

class EventsController < ApplicationController 

def index 
    @q = Events.search(params[:q]) 
    @events = @q.result.includes(:address, user:[:address]).page(params[:page]) 
end 

def upcoming 
    @q = Card.future.search(params[:q]) 
    @cards = @q.result.includes(:address, user:[:address]).page(params[:page]) 
    render template: 'events/index' 
end 

def myevents 
    @q = current_user.events.search(params[:q]) 
    @events = @q.result.includes(:address, user:[:address]).page(params[:page]) 
    render template: 'events/index' 
end 

end 

注意未来的范围即将到来的显示事件 范围:将来, - > {where('rdv> =?',Date.today)} end

一切正常,除了点击即将到来的事件或我的事件“搜索按钮” nders事件#索引操作,因此“future”范围被忽略,就像current_user一样。

我知道我可以定义路由遍寻搜索,并添加卡片#搜索行动,但

问题:我如何才能让我的事件,点击搜索按钮后即将#持续性?同样的事件#即将举行和事件#myevents

也许我的逻辑是错误的。非常感谢您的帮助

请注意,我不使用发布,因为我有will_paginate与ajax一起工作,并且我只能使它正确地与get方法一起使用。

改变每个search_form_for到指定路径要加载结果的页面,例如:

<%= search_form_for @q, url: your_path do |f| %>