我是Ruby on Rails编程语言的新手。我想显示一个动态下拉列表。这是我的代码:
控制器
def property
@rental_types = RentalType.all
end
视图
<%= form_tag(@property, method: "post", class: 'form-horizontal form-label-left', multipart: true, novalidate:"") do %>
<%= select :property, :type_id, options_for_select(@rental_types.collect { |type|
[type.type_name.titleize, type.id] }, 1), {}, { id: 'countries_select', class: 'form-control col-md-7 col-xs-12' } %>
<% end %>
我的输出应该是
<select name="property[type_id]" class="form-control col-md-7 col-xs-12" id="countries_select">
<option value="10">1 Bedroom Rentals</option>
<option value="11">2 Bedroom Rentals</option>
<option value="12">3 Bedroom Rentals</option>
<option value="13">4 Bedroom Rentals</option>
</select>
我想在我的视图页面中动态下拉列表。但我收到undefined method 'type_id' for #<User:0x7aff460>
错误消息。
请帮帮我。
答案 0 :(得分:1)
试试这个,
<%= select_tag 'property[type_id]', options_from_collection_for_select(@rental_types, 'id', 'name'), class: 'form-control col-md-7 col-xs-12', id: 'countries_select' %>
有关详细信息,请浏览link
答案 1 :(得分:1)
请试试这个
<%= select("property", "type_id", @rental_types.collect {|p| [ type.type_name.titleize, type.id] }, {prompt: 'Select Person'}) %>