【发布时间】:2016-08-05 00:38:37
【问题描述】:
我正在尝试在我的模型中创建一个字符串数组,我可以在其中将新字符串 (ID) 推送到字符串数组中 - 但它没有推送正确的值。
这是模型的外观:
class CreateCompanies < ActiveRecord::Migration
def change
create_table :companies do |t|
t.string :name
t.string :email
t.string :users, array: true, default: []
t.timestamps null: false
end
end
end
这是我如何将新值添加到控制器中的数组:
c = Company.new
c.users << @user.id
c.save
确实会向数组中添加一个值,但它不是 ID,而只是一些随机值,如下所示:
users: "--- []\n\u{478A6}"
现在被困了几天 - 有人知道我错过了什么吗?
更新: 添加了我创建新公司的代码
def create
@user = User.new(user_params)
if @user.save
@user.id = SecureRandom.random_number(999999)
session[:user_id] = @user.id
c = Company.new
c.id = SecureRandom.random_number(999999)
c.name = @user.company_name
c.email = "email goes here"
c.users << @user.id
c.save
@user.company_id = c.id
@user.save
redirect_to '/dashboard'
else
redirect_to '/'
end
end
【问题讨论】:
标签: ruby-on-rails arrays ruby activerecord rails-activerecord