2012-04-07 39 views
11

Tôi hiện có điều này như một tìm kiếm:Đi qua Mảng một select_tag

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

Tôi có danh sách sau đây trong mô hình của tôi sử dụng:

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"] 

Tôi đang tự hỏi làm thế nào để danh sách tôi tất cả các county_options vào trình đơn thả xuống?

Trả lời

23

Khám phá API documentation cho select_tag.

Nó nói:

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

đâu option_tags là một chuỗi chứa các thẻ tùy chọn cho hộp chọn. Bạn có thể sử dụng các phương thức trợ giúp khác để biến các thùng chứa thành một chuỗi các thẻ tùy chọn.

dụ đầu tiên:

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

này tạo ra chọn thẻ từ dữ liệu mô hình cụ thể.

Ví dụ của bạn, bạn nên sử dụng 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 %> 
Các vấn đề liên quan