2014-09-15 4 views
0

Я новичок в RoR, и я хочу, чтобы сделать поиск дни рождения с помощью выбора тега с месяца, как:Поиск модели от выбора опции

<%= form_tag birthdays_path, :method => 'get' do %> 
    <%= select_month (Date.today) %> 
    <%= submit_tag "Search", :name => nil %> 
<% end %> 

У меня есть модель Person с именем и день рождения дата, когда я хочу выполнить поиск и сопоставить месяц, но я не знаю, как получить параметры.

+0

Помог ли мой ответ вам в любом случае? –

ответ

0

Модель:

class Person < ActiveRecord::Base 
    def self.birthday_month month 
    date = Date.current.change(month: month.to_i) 
    where("#{table_name}.birthday BETWEEN :from AND :to", 
     { from: date.at_beginning_of_month, to: date.at_end_of_month }) 
    end 
end 

Контроллер:

class PeopleController < ApplicationController 
    def index 
    @people = Person.birthday_month(params[:month]) 
    end 
end 

Отвечающий вид (/people/index.js.erb):

alert('<%= @people.map(&:name).join(', ') %>') 

Но, пожалуйста, также считают, что год всегда текущий год в поиске. В противном случае вы также добавите параметр года или определите год поиска по умолчанию.

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