Rails - collection_select - 使用模型中列出的值填充

时间:2015-09-07 20:48:33

标签: ruby-on-rails collection-select

我的模型定义如下:

class Order < ActiveRecord::Base
  belongs_to :user

  TYPES = %w[t_01 t_02 t_03]
  validates :order_type, inclusion: { in: TYPES }
end

我正在尝试在视图中创建一个下拉菜单,该菜单将由TYPES中的值填充。

下面显示的那个当然不是正确的,因为它使用属于已记录在DB中的订单的类型填充下拉菜单:

<div class="field">
  <%= f.label :order_type %><br>
  <%= f.collection_select :order_type, Order.all, :order_type, :order_type %>
</div>

有人可以给我任何提示我如何解决它吗?先感谢您。

2 个答案:

答案 0 :(得分:2)

#model

 def self.types
  TYPES
 end


 #view
 <%= f.collection_select :order_type, Order.types, :to_s, :to_s, {include_blank: false}, {:multiple => false} %>

答案 1 :(得分:0)

您也可以将其用作

{{1}}