如何创建预定义的属性:day

时间:2016-02-26 21:15:52

标签: ruby-on-rails

我如何制作属性:具有预定义值(星期一,星期二等)的日子,以便稍后在创建新事件时选择它们?

2 个答案:

答案 0 :(得分:1)

您可以将其设为一个整数,其值为0到6。

在表格上

select("event", "day", %w(Sunday Monday Tuesday Wednesday Thursday Friday Saturday).each_with_index.map{|x,i|[x, i]}, { include_blank: true })

答案 1 :(得分:0)

你正在寻找可枚举物品。在Rails中,可以使用一些诸如enumerize之类的宝石。

# Gemfile
gem 'enumerize'

# app/models/event.rb
class Event < ActiveRecord::Base
  enumerize :day, in: %w[monday tuesday wednesday thursday friday saturday sunday]
end

# app/views/events/_form.html.erb
<%- form_for @event do |f| %>
  <%= f.select :day, Event.day.options %>
<% end %>

该领域的另一个伟大宝石是assignable_values