【发布时间】:2014-12-14 02:36:05
【问题描述】:
也许我只是淹死在一杯水里……
我有两个模型。
类队列
has_many :slots
结束类插槽
结束
在rails c中执行这个命令
q = Queue.create
s1 = Slot.create
s2 = Slot.create
s3 = Slot.create
q.slots
现在我只想从 q.slots 列表中删除第二个元素,而不删除其他 s2 元素(就像 #delete 一样)。类似于q.delete_at(1)。
有什么建议吗?
谢谢。
编辑:
这是我的 schema.rb
create_table "steps", force: true do |t|
t.整数值
结束create_table "queues", force: true do |t|
t.string 名称
结束create_table "steps_queues", force: true do |t|
t.integer "step_id"
t.integer "queue_id"
结束添加索引“steps_queues”,[“step_id”],名称:“index_steps_queues_on_step_id”
add_index "steps_queues", ["queue_id"], name: "index_steps_queues_on_queue_id"
编辑二:
我通过has_many {:through} 关联解决了这个问题。添加对象模型以实现非业务逻辑目的并不是一个好主意。但是,嘿,它有效。
【问题讨论】:
-
对于初学者来说,您必须保存您在控制台中创建的内容。所以 q.save s1.save 等...
-
好吧,错误的例子:D 我在
rails console会话中使用已经创建的对象进行了测试。但问题依然存在。
标签: ruby-on-rails ruby activerecord ruby-on-rails-4