Ruby on rails 如何使用简单表单将特定枚举值指定为隐藏字段?

Ruby on rails 如何使用简单表单将特定枚举值指定为隐藏字段?,ruby-on-rails,enums,ruby-on-rails-5,simple-form,Ruby On Rails,Enums,Ruby On Rails 5,Simple Form,我有一个PortStock.rb模型,它具有以下枚举: class PortStock < ApplicationRecord enum action: [ :buy, :sell ] end 想法?这本书说: 最后,还可以使用哈希显式映射属性和数据库整数之间的关系: class Conversation < ActiveRecord::Base enum status: { active: 0, archived: 1 } end 这意味着你可以用两种方法中

我有一个
PortStock.rb
模型,它具有以下枚举:

class PortStock < ApplicationRecord    
  enum action: [ :buy, :sell ]
end
想法?

这本书说:

最后,还可以使用哈希显式映射属性和数据库整数之间的关系:

class Conversation < ActiveRecord::Base
  enum status: { active: 0, archived: 1 }
end

这意味着你可以用两种方法中的一种来解决你的问题

  • 
    
  • 
    

  • 谢谢你这么详细的解释。这非常有效(特别是第二个)。
    class Conversation < ActiveRecord::Base
      enum status: { active: 0, archived: 1 }
    end
    
    Conversation.statuses[:active]    # => 0
    Conversation.statuses["archived"] # => 1
    
    <%= f.input_field :action, as: :hidden, value: 0 %>
    
    <%= f.input_field :action, as: :hidden, value: PortStock.actions[:buy] %>