gpt4 book ai didi

ruby-on-rails - 重命名模型并更改对模型的所有引用后,对先前名称的引用仍然存在

转载 作者:数据小太阳 更新时间:2023-10-29 08:16:34 24 4
gpt4 key购买 nike

在遵循在线教程后,我得到了一个名为 Person 的模型。一段时间后,我们决定将其重命名为 User 更为明智。我浏览了代码库并执行了以下操作:

  1. 将 Person to User、person to user、People to Users 和 people to users 的所有实例重命名,注意不要破坏任何不相关的内容。
  2. 适本地重命名了所有模型文件。

我有另一个模型叫做 session :

session 属于用户

用户 has_many session

在运行迁移之前 git grep -i person/people and find | grep person/people 只是返回迁移,所以我确定我已经正确重命名了所有内容。

当我去创建一个随后创建 session 的新用户时,我收到以下错误:

未知属性:user_id

再次运行git grep 发现session中的外键还是person_id

create_table "sessions", :force => true do |t|                                                                                                                             
t.integer "person_id
t.string "ip_address"
t.string "path"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end

我该如何解决这个问题?

最佳答案

只是在迁移中做

def change
rename_column :sessions, :person_id, :user_id
end

关于ruby-on-rails - 重命名模型并更改对模型的所有引用后,对先前名称的引用仍然存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12725776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com