【发布时间】:2014-07-20 20:28:38
【问题描述】:
我有一个模型,其中有一个用户名字符串和一个感兴趣的字符串数组。我想做的是允许用户在单击按钮时通过将兴趣附加到当前数组来添加兴趣。但是,当我update 时,它不会更新模型中的数组字段。这是为什么呢?
例如,如果您在 rails 控制台中...
@existing = User.find(1)
ints = @existing.interests
ints.append("a new interest")
@existing.update(interests: ints)
这不会更新记录,我不知道为什么...我在我的数据库中看到它说 Begin, Commit, True 但是当我这样做 User.find(1) 它只显示没有添加新兴趣的数组。
这是架构:
create_table "users", force: true do |t|
t.string "email"
t.string "interests", default: [], array: true
t.datetime "created_at"
t.datetime "updated_at"
end
这里是迁移
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :email
t.string :interests, array: true, default: '{}'
t.timestamps
end
end
end
使用 rails 4+ 和 ruby 2+ 和 PSQL
【问题讨论】:
标签: ruby-on-rails arrays