2013-12-06 1 views
0

Привет, может быть, это дурак вопрос, но я действительно стараюсь смотреть не мог найти любую соответствующую информацию, (может быть, потому что я не знаю, где именно, чтобы начать смотреть на) ..Построение переключателе или фильтр в Rails

I необходимо создать окно выбора с параметрами, чтобы пользователь мог «фильтровать» по количеству кандидатов. на данный момент у этого представления есть этот код.

Я был нахожусь на использовании: params, чтобы опубликовать их в URL-адресе (я всегда делаю php, im делает рельсы, потому что моя задача теперь - вставить дизайн, я достигла всего , просто отсутствует переключатель фильтр)

во всяком случае .. вот код .. которым довольно просто

<% @candidates.each do |candidate| %> 

     <% if (candidate.active == true) && (candidate.position.present?) %> 

All the html code with info.. like 

<%= candidate.name %> : <%= candidate.position? ? t('generales.'+candidate.position) : t('activerecord.models.elite') %> 

    <% end %> 

    <% end %> 

, как я могу сделать это, как им действительно нуб в Rails, им обычного пользователь на PHP даже не очень хороший jaja, PLS, я надеюсь, кто-то может дать мне руку на это.

Могу ли я использовать что-то вроде этого: How to do a LIKE query in Arel and Rails?

Like candidates.where("position like '%?%'", params[:query]).to_sql

Кроме того, как я могу построить пост, как вы в PHP, без идеи, чтобы изменить позицию, которую вы хотите отфильтровать.

Модель Candidate.rb просто это внутри: S

class Candidate < ActiveRecord::Base 
end 
+0

Делая отборное, который фильтрует список включает в себя определенное количество шагов. Например: сам выбор, действие контроллера, часть JavaScript, если вы делаете это с AJAX. Неясно, к какому из этих вопросов относится ваш вопрос. Кроме того, неясно, как фрагмент кода, который вы опубликовали, относится к вопросу. – depa

+0

Я всегда работаю в PHP, я также знаю AJAX, но у меня нет представления о том, как реализовать его на rails .. в PHP yo публикует $ var, который отправит информацию для изменения запроса или запроса условий. но здесь я понятия не имею –

ответ

1

В принципе вы правы. Здесь улучшен код:

<% @candidates.each do |candidate| %> 
    <% if candidate.active && candidate.position.present? %> 

    <%= candidate.name %> : <%= t("generales.#{candidate.position}") %> 

    <% end %> 
<% end %> 

Обновление по запросу в комментариях:

Используйте код, как это в контроллере:

if params[:position] == 'red' 
    @candidates = @candidates.where(position: 'red') 
elsif params[:position] == 'blue' 
    @candidates = @candidates.where(position: 'blue') 
else 
    @candidates = Candidate.all 
end 

и построить HTML форма, которая будет проходить параметр position.

или вы можете использовать https://github.com/activerecord-hackery/ransack

+0

, но этот код уже работает отлично. Мне просто нужно сделать поле выбора для фильтрации по позиции кандидата .. im a rails noob, я понятия не имею, как это сделать. –

+0

это это шкафы, которые я получаю, но я не могу заставить его работать с моим кодом. http://stackoverflow.com/questions/15474883/rails-how-to-filter-results –

+0

обновил ответ – NARKOZ

 Смежные вопросы

  • Нет связанных вопросов^_^