rails形成帮助器更改形式text_field

时间:2013-01-10 15:20:27

标签: ruby-on-rails forms

我有一个用户模型,用于定义has_one :profile关联。

在用户编辑操作/页面上,我更新了用户属性。我想更新属于用户模型但属于个人资料的属性。

这是我的观点:

# _form.html.haml
=f.text_field :phone

使用此表单,我如何更新phone的{​​{1}}属性?

2 个答案:

答案 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