添加类别为

时间:2017-06-03 04:25:00

标签: ruby-on-rails ruby ransack

我正在显示健身房列表,用户可以按省份查看健身房。我想使用Ransack gem添加搜索功能,但我不知道如何使用我当前的设置来解决它。寻找一些建议。

健身房控制器

def index

    if params[:province].blank?
        @gyms=Gym.all.order("created_at desc").paginate(:page => params[:page], :per_page => 18)
        else
        @province_id = Province.find_by(name: params[:province]).id
        @gyms = Gym.where(province_id: @province_id).order("created_at DESC").paginate(:page => params[:page], :per_page => 18)
        end

    end

提前谢谢。

1 个答案:

答案 0 :(得分:0)

想出来。用这个替换我现有的控制器代码:

@q = Gym.ransack(params[:q]) 
@gyms = @q.result.includes(:province).page(params[:page]).order("created_at DESC").paginate(:page => params[:page], :per_page => 18)