0
我想創建一個選擇輸入,它需要特定的用戶模型,並將它們顯示爲字符串,同時將它們保存爲整數。通常我會像下面一樣將枚舉設置爲一個靜態哈希。如何在Rails 5上設置動態枚舉?
嘗試創建一個新的產品,我不斷收到以下錯誤:「未定義的局部變量或方法`user_business_hash'」
我試圖移動‘user_business_hash’方法應用/產品控制器,應用程序/產品幫手沒有運氣。
型號
enum user_id: user_business_hash
validates :user_id, inclusion: user_ids.keys
def user_business_hash
# output: {User.business_name => User.id }
# ex: {"Business Name A"=>2, "Business Name B"=>1, "Business Name C"=>5}
array = User.where(account_type: 'Business').map{|x| [x.business_name, x.id] }
hash = array.inject({}) do |memo, (key, value)|
memo[key] = value
memo
end
return hash
end
表
<%= form.select :user_id, Product.user_ids.keys, prompt: 'Select', id: :product_user_id %>
是那正是我需要的 - 謝謝! – Sal