Railsアプリがあります。Deviseをインストールしました。User モデルとさまざまなプロファイル (たとえば、Student と Mentor) の間にポリモーフィックな関連付けが必要です。
これが私がやろうとしていることです: 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
問題は、コントローラーとそれを行うためのフォームをセットアップする方法がわからないことです。どうすればいいですか?ユーザーと学生プロファイルの関係に注意してください。