我是Rails中的新手,无法让我的模特关系发挥作用,我也不知道原因。我已经尝试过多种方式并且遵循了许多不同的教程,但无法找到正确的方法。你知道我的代码有什么问题吗?我该怎么测试呢?
我有两个模型,其中包含has_one关联用户和个人资料。个人资料属于User。所以每次添加用户时,我都会添加一个配置文件。
这是用户模型的迁移文件
class CreateUsers < ActiveRecord::Migration[5.1]
def change
create_table :users do |t|
t.string :email
t.string :password_digest
t.timestamps
end
end
end
这是个人资料模型的迁移文件
class CreateProfiles < ActiveRecord::Migration[5.1]
def change
drop_table :profiles
create_table :profiles do |t|
t.string :name
t.string :lastname
t.string :phone
t.string :address
t.string :city
t.string :state
t.string :country
t.string :gender, :limit => 10
t.string :zipcode
t.references :users, foreign_key: true
t.timestamps
end
end
end
模型简介
class Profile < ApplicationRecord
belongs_to :user
end
模型用户
class User < ApplicationRecord
has_secure_password
has_one :profile
end
非常感谢!
答案 0 :(得分:0)
我认为问题可能在于迁移。
public class ErrorController : Controller
{
public ActionResult Index()
{
var errGUID = (string)Session["test"];
ViewBag.ErrorMessage = errGUID;
return View();
}
}
属于Profile
,因此在User
迁移中您应该拥有:
create_profiles
(t.references :user, foreign_key: true
代替user
)。
使用您的代码时,users
模型应具有Profile
字段{。}}。