2015-01-15 2 views
1

를 통해 데이터베이스를 조회하기 위해 나는 최근 루비 보석을 발견 ransack레일 - 더듬다를 사용하여 링크

더듬다 양식에 의해 액티브 데이터베이스를 조회 할 수 있습니다.

내가 뭘하고 싶은지, 링크를 클릭하여 쿼리 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가 쿼리됩니다.

난 당신이 다른 경로의 무리, 다른 컨트롤러 액션의 무리를 작성하여이 작업을 수행하고, 추가 작업을 많이처럼 보인다

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

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

<% end %> 

을 다음 거기가로는 액티브 쿼리에서 수있어 더 간단한 방법이 될 것입니다.

답변

3

새로운 경로를 만들 필요는 없습니다. 그냥 적절한 q 매개 변수 (들)에 대한 링크를 만들 :

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

위의 링크는 현재 URL로 이동하지만, 농구 쿼리 PARAM으로합니다. 경로 또는 URL 도우미에 q 매개 변수를 전달할 수도 있습니다.

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

굉장합니다. 많은 감사 – Darkmouse

관련 문제