2017-11-19 8 views
1

このチュートリアルに続いて、検索ボックスhttp://railscasts.com/episodes/240-search-sort-paginate-with-ajaxを持つソート可能なテーブルがあります。 それはうまく動作しますが、今はテーブルにフィルタを追加する必要があります。フィールド値をクリックすると、作成者の例では、テーブルにはその著者のレコードのみが表示されます。 私は以下を持っています:テーブルにフィルタを追加するRuby on Rails

class IssuesController < ApplicationController 
    before_action :set_issue, only: [:show, :edit, :update, :destroy, :do_vote, :do_watch] 
    before_action :current_user, only: [:show, :edit, :update, :destroy, :index, :new, :create, :post_comment, :do_vote, :do_watch] 
    helper_method :sort_column, :sort_direction 

    def index 
    @issues = Issue.search(params[:search]).order(sort_column + " " + sort_direction).paginate(:page => params[:page], :per_page => 5) 
    end 
... 

どうすれば私のフィルタを追加できますか?

答えて

0

問題のクエリにwhere(author: params[:author])を単に追加してください。

@issues = Issue 
    .search(params[:search]) 
    .where(author: params[:author]) 
    .order(sort_column + " " + sort_direction) 
    .paginate(page: params[:page], per_page: 5) 
+0

'issue'テーブルに' author'カラムがあるとします。 –

+0

はい。私は別のフィールドコール "tipo"でそれを行いますが、最初はヌルです: IssuesController by index by HTML レイアウト/アプリケーション内のレンダリング問題/ index.html.erb Issue Load(0.2ms)SELECT "issues"。 * FROM "issues" WHERE "issues"。 "tipo"はNULL ORDER BYタイトルの昇順LIMITですか?オフセット? [["LIMIT"、5]、["OFFSET"、0]] どうすればいいですか? @ light.wave – Alberto

+0

あなたの質問は分かりません。問題の「すべて」を得たいですか?しかし、著者にフィルタをかける方法を尋ねました。正確に何を本当にしたいですか?あなたの質問を明確にすることはできますか? –

関連する問題