form_for :
<%= f.select :menu_id, options_from_collection_for_select(@menus, 'id', 'name') %>
<%= f.datetime_select :schedule , :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'}%>
form_tag :
<%= form_tag :controller => "index", :action => "index" do %>
<%= select_tag(:area_id, options_from_collection_for_select(@areas, :id, :area_name, @area_id),
:onchange => "this.form.submit()") %>
<% end %>
OR
Over an integer range:
<%= f.select :field_name, (1..50) %> OR select("product", "quantity", 1..100)
<form accept-charset="UTF-8" action="/area/2" method="post">
<select id="area_id" name="area_id" onchange="this.form.submit()">
<option value="1">Japan</option>
<option value="2" selected="selected">Thailand</option>
<option value="3">USA</option>
<option value="4">Canada</option>
<option value="5">England</option>
</select>
</form>
:Value parameter
Error sometime occur: undefined method 'merge' for xxx:xxx
Solution: use ":value" parameter
<%= f.hidden_field :session_id, :value => "abcdefg0123456789" -%>
:MULTIPLE parameter
When you need to send an array of information back
<%= f.hidden_field "orders", :multiple => true, :value=>schedule.id %>
No comments:
Post a Comment