2015-01-15 19 views
1

數據庫最近我發現了紅寶石的寶石,ransackRails的 - 使用洗劫查詢通過鏈接

洗劫可以使用的形式來查詢ActiveRecord的數據庫。

我想要做的是,通過點擊鏈接查詢ActiveRecord。

假設我正在撰寫體育博客並對文章進行分類。

假設我的類別是足球,籃球,棒球和曲棍球。

我可以在basketball編寫這些代碼

<%= search_form_for @q do |f| %> 

    <%= f.label :category_eq, "Category" %> 
    <%= f.search_field :category_eq %></br></br> 

    <%= f.submit "Search", :class => 'submit-btn' %> 

<% end %> 

打字,然後按提交找到與籃球相關的文章。

我會看到有關籃球的文章列表。

我想要做的是看到同樣的事情,只有通過點擊一個鏈接,ActiveRecord被查詢。

我知道你可以通過創建一堆不同的路徑,一堆不同的控制器動作做到這一點,並在他們的查詢ActiveRecord的如下

<% Article.where(category: 'basketball').each do |article| %> 

    <%= article.title %> 
    <%= article.author %> 
    <%= article.content %> 
    <%= article.category %> 

<% end %> 

這似乎是一個很多額外的工作,有有以更簡單的方式

回答

3

你不需要創建任何新的路線。只要創建一個鏈接與適當q參數(S):

<%= link_to 'Basketball articles', q: {category_eq: 'Basketball'} %> 

上面的鏈接將轉到當前的URL,但與籃球查詢參數。您也可以將q param傳遞給路徑或網址幫助程序:

<%= link_to 'Basketball articles', articles_path(q: {category_eq: 'Basketball'}) %> 
+0

太棒了,工作正常。非常感謝 – Darkmouse