我有一个 Rails 应用程序。我安装了设计。我想在用户模型和不同的配置文件之间建立多态关联,例如:学生和导师。
这就是我想要做的:有一个学生注册页面,其中包含常规设计字段,例如:email
、、。但我也希望有特定于学生资料的字段,例如和password
password_confirmation
residency_type
graduation_year
user.rb
class User < ActiveRecord::Base
belongs_to :profile, polymorphic: true
student_profile.rb
class StudentProfile < ActiveRecord::Base
has_one :user, as: :profile, dependent: :destroy
registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
def new_student_registration
resource = build_resource({})
respond_with resource
end
...
我可以在控制台上创建一个带有学生个人资料的用户,就像这样......
u = User.new
u.email = "something@whatever"
... (password and password confirmation)
u.profile = StudentProfile.new
u.graduation_year = "2014"
u.save
问题是,我不知道如何设置控制器和一个表单来做到这一点。我该怎么做?请注意用户和学生资料之间的关系。