我在事件模型上设置了Ransack
在我的控制器中,我有三个动作分别指向索引,即将发布和myevents。 index显示所有事件 即将展出的活动将会到来 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
注意未来的范围 范围:未来, - &gt; {where('rdv&gt; =?',Date.today)} 端
除了在即将发生的事件或我的事件上点击“搜索按钮”之后,一切正常,搜索呈现事件#index action,因此忽略“future”范围,因为current_user是。
我知道我可以在路线中定义搜索搜索,并添加卡片#search action,但
问题:如何在点击搜索按钮后让我的活动#即将到来?事件相同#ecoming和事件#myevents
也许我的逻辑错了。非常感谢你的帮助
请注意,我没有使用post,因为我已经将will_paginate用于ajax,而且我只能使它与get方法一起使用。
答案 0 :(得分:0)
更改每个search_form_for以指定要加载结果的页面的路径,例如:
<%= search_form_for @q, url: your_path do |f| %>