2014-09-30 62 views
1

我已經搜查我的活動模式在同一個控制器

在我的控制器設置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方法一起使用。

回答

0

改變每個search_form_for到指定路徑要加載結果的頁面,例如:

<%= search_form_for @q, url: your_path do |f| %> 
相關問題