在同一个控制器
问题描述:
我已经搜查我的活动模式在同一个控制器
在我的控制器设置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| %>