2012-04-07 9 views
11

Obecnie mam to jako kryteria:Mijając tablicę do select_tag

<%= form_tag users_path, :controller => 'users', :action => 'townsearch', :method => 'get' do %> 
    <%= select_tag :county, params[:county] %> 
    <%= submit_tag 'search'%> 
<% end %> 

Mam poniższej listy w moim modelu użytkownika:

COUNTY_OPTIONS = [ "Avon", "Bedfordshire", "Berkshire", "Borders", "Buckinghamshire", "Cambridgeshire","Central", 
       "Cheshire", "Cleveland", "Clwyd", "Cornwall", "County Antrim", "County Armagh", "County Down", 
       "County Fermanagh", "County Londonderry", "County Tyrone", "Cumbria", "Derbyshire", "Devon", 
       "Dorset", "Dumfries and Galloway", "Durham", "Dyfed", "East Sussex", "Essex", "Fife", "Gloucestershire", 
       "Grampian", "Greater Manchester", "Gwent", "Gwynedd County", "Hampshire", "Herefordshire", "Hertfordshire", 
       "Highlands and Islands", "Humberside", "Isle of Wight", "Kent", "Lancashire", "Leicestershire", "Lincolnshire", 
       "Lothian", "Merseyside", "Mid Glamorgan", "Norfolk", "North Yorkshire", "Northamptonshire", "Northumberland", 
       "Nottinghamshire", "Oxfordshire", "Powys", "Rutland", "Shropshire", "Somerset", "South Glamorgan", "South Yorkshire", 
       "Staffordshire", "Strathclyde", "Suffolk", "Surrey", "Tayside", "Tyne and Wear", "Warwickshire", "West Glamorgan", 
       "West Midlands", "West Sussex", "West Yorkshire", "Wiltshire", "Worcestershire"] 

zastanawiam się jak zrobić Wykaz I wszyscy county_options w rozwijanym menu?

Odpowiedz

23

Zapoznaj się z API documentation dla select_tag.

Mówi:

select_tag(name, option_tags = nil, options = {}) 

Gdzie option_tags jest ciągiem zawierającym znaczniki opcja dla zaznaczania. Możesz użyć innych metod pomocniczych, które zamieniają pojemniki w ciąg tagów opcji.

Pierwszy przykład:

select_tag "people", options_from_collection_for_select(@people, "id", "name") 
# <select id="people" name="people"><option value="1">David</option></select> 

Generuje wybierz tagi z konkretnych danych modelowych. Na przykład należy użyć options_for_select.

<%= form_tag users_path, :controller => 'users', :action => 'townsearch', :method => 'get' do %> 
    <%= select_tag :county, options_for_select(User::COUNTY_OPTIONS) %> 
    <%= submit_tag 'search'%> 
<% end %> 
Powiązane problemy