我有一个用户模型,用于定义has_one :profile
关联。
在用户编辑操作/页面上,我更新了用户属性。我想更新不属于用户模型但属于个人资料的属性。
这是我的观点:
# _form.html.haml
=f.text_field :phone
使用此表单,我如何更新phone
的{{1}}属性?
答案 0 :(得分:1)
您应该允许更新用户模型中的嵌套属性:
class User
has_one :profile
accepts_nested_attributes_for :profile
end
然后在表单中使用fields_for
方法将Profile中的字段嵌套到User表单中:
= f.fields_for :profile do |p|
= p.text_field :phone
答案 1 :(得分:0)
作为一般概念,如果您有两个表用户和配置文件,那么 -
User table = id,first_name,last_name
个人资料表= id,user_id,电话
社团:
User Class
-
class User < ActiveRecord::Base
has_one :profile
end
Profile Class
-
class Profile < ActiveRecord::Base
belongs_to :user
end
User Controller
-
def index
@user = current_user
@user_phone = @user.profile.phone
end