mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Remove nested ternary operators from select_year in favour of conditionals.
This commit is contained in:
parent
df36a6f759
commit
5dd10d60bb
1 changed files with 21 additions and 12 deletions
|
@ -547,23 +547,32 @@ module ActionView
|
||||||
# select_year(2006, :start_year => 2000, :end_year => 2010)
|
# select_year(2006, :start_year => 2000, :end_year => 2010)
|
||||||
#
|
#
|
||||||
def select_year(date, options = {}, html_options = {})
|
def select_year(date, options = {}, html_options = {})
|
||||||
val = date ? (date.kind_of?(Fixnum) ? date : date.year) : ''
|
if !date || date == 0
|
||||||
if options[:use_hidden]
|
value = ''
|
||||||
hidden_html(options[:field_name] || 'year', val, options)
|
middle_year = Date.today.year
|
||||||
|
elsif date.kind_of?(Fixnum)
|
||||||
|
value = middle_year = date
|
||||||
else
|
else
|
||||||
year_options = []
|
value = middle_year = date.year
|
||||||
y = date ? (date.kind_of?(Fixnum) ? (y = (date == 0) ? Date.today.year : date) : date.year) : Date.today.year
|
end
|
||||||
|
|
||||||
|
if options[:use_hidden]
|
||||||
|
hidden_html(options[:field_name] || 'year', value, options)
|
||||||
|
else
|
||||||
|
year_options = ''
|
||||||
|
start_year = options[:start_year] || middle_year - 5
|
||||||
|
end_year = options[:end_year] || middle_year + 5
|
||||||
|
step_val = start_year < end_year ? 1 : -1
|
||||||
|
|
||||||
start_year, end_year = (options[:start_year] || y-5), (options[:end_year] || y+5)
|
|
||||||
step_val = start_year < end_year ? 1 : -1
|
|
||||||
start_year.step(end_year, step_val) do |year|
|
start_year.step(end_year, step_val) do |year|
|
||||||
year_options << ((val == year) ?
|
if value == year
|
||||||
content_tag(:option, year, :value => year, :selected => "selected") :
|
year_options << content_tag(:option, year, :value => year, :selected => "selected")
|
||||||
content_tag(:option, year, :value => year)
|
else
|
||||||
)
|
year_options << content_tag(:option, year, :value => year)
|
||||||
|
end
|
||||||
year_options << "\n"
|
year_options << "\n"
|
||||||
end
|
end
|
||||||
select_html(options[:field_name] || 'year', year_options.join, options, html_options)
|
select_html(options[:field_name] || 'year', year_options, options, html_options)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue