2012-02-19 21 views
0

我是一個鐵軌新手,所以我希望有人能幫助我。鐵軌索引行動中的變量衝突

這裏是我的代碼

def index 
    @todos = Todo.order(sort_column + " " + sort_direction) #sorts table columns 
    @todos = Todo.page(params[:page]).per(1)     #pagination 
    @todos = Todo.search(params)        #search filter 

    respond_to do |format| 
    format.html # index.html.erb 
    format.json { render json: @todos } 
    end 
end 

排序,分頁,並在自己的搜索所有工作完美,但很明顯這是在一次聲明所有三個變量時造成衝突。

我不知道如何解決給這些變量不同名稱的問題,以便他們仍然可以在應用程序的上下文中工作。

任何幫助表示讚賞。

+0

你在使用meta_search和kaminari嗎? – lucapette 2012-02-19 11:06:28

+0

感謝您的回覆。我嘗試了你的建議,但得到一個錯誤未定義的方法'頁面'爲#我嘗試了多種鏈接方法,但無濟於事。即時消息使用kaminari分頁,彈性搜索與輪胎寶石搜索 – user1219092 2012-02-19 11:07:23

+0

我明白了。無論如何,我已經更新了答案 – lucapette 2012-02-19 11:13:31

回答

0

您可以鏈接調用:

@todos = Todo.order(sort_column + " " + sort_direction).search(params).page(params[:page]).per(1) 

我已經改變了整理了一下,因爲,假如你使用雷,分頁應該總是調用的最後一個方法。只有當你的搜索方法返回一個ActiveRecord關係時,這纔會起作用。

編輯

讀評論,我想你正在使用的輪胎。它似乎支持Kaminari,但你需要做一些努力。請看一下this discussion。不幸的是,我對泰爾並不熟悉。

+0

好吧 – user1219092 2012-02-19 11:22:38