我是RoR的新手,我想使用带有月份的select标签搜索生日,例如:
<%= form_tag birthdays_path, :method => 'get' do %>
<%= select_month (Date.today) %>
<%= submit_tag "Search", :name => nil %>
<% end %>
我有一个名字和生日日期的人物模型,我想在那里搜索并匹配月份,但我不知道如何获取参数。
答案 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(', ') %>')
但请注意,搜索中的年份总是当前年份。否则,您还将添加年份参数或定义默认搜索年份。