我意外地命名爲複數的車型之一,所以我都手動更改名稱:找不到表「projects_users」
projects_users.rb -> projects_user.rb
......還有......
class ProjectsUsers < ActiveRecord::Base -> class ProjectsUser < ActiveRecord::Base
。 ..和表名與遷移。
。
現在,我得到一個錯誤,告訴我:
Could not find table 'projects_users'
這是奇怪的,因爲這是數據庫的老名字,我無法找到我的代碼中的任何地方,我指的是這個名字。
使用該表projects_user控制器是項目控制和錯誤是指下列(3號線):
1. def edit
2. @project = Project.find(params[:id])
3. @members = ProjectsUser.where(:project_id => params[:id])
4. end
什麼可能是錯誤的?我應該在哪裏看?
Schema.rb是從我所關於該表告訴正確的:
create_table "projects_user", :force => true do |t|
t.integer "project_id"
t.integer "user_id"
end
add_index "projects_user", ["project_id", "user_id"], :name => "index_projects_users_on_project_id_and_user_id"
您是否還更新了遷移並重新運行?因爲它擁有表格的實際名稱。 – raiis 2013-02-11 21:05:25
我爲名稱更改創建了一個新的遷移文件並運行rake db:migrate,它更改了名稱(如果這就是您的意思?) – holyredbeard 2013-02-11 21:07:50
我不知道命名爲複數時創建了哪個表,但更改後模型你還需要更新表格來更正複數。 – raiis 2013-02-11 21:09:57