3

Railsアプリがあります。Deviseをインストールしました。User モデルとさまざまなプロファイル (たとえば、Student と Mentor) の間にポリモーフィックな関連付けが必要です。

これが私がやろうとしていることです: emailpassword、などの通常のデバイス フィールドを備えた学生登録ページを作成しますpassword_confirmationresidency_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

問題は、コントローラーとそれを行うためのフォームをセットアップする方法がわからないことです。どうすればいいですか?ユーザーと学生プロファイルの関係に注意してください。

4

2 に答える 2

0

このレール キャスト エピソードを見るhttp://railscasts.com/episodes/210-customizing-devise

プロファイルについては、新しいページフォームにフィールドを追加し、ユーザーモデルでネストされた属性を受け入れるようにするだけでよいと思います。プロファイルが何であるかを知るには、選択ボックスと前フィルターを使用して、その値に基づいてプロファイルを確認します

于 2013-03-01T23:16:50.033 に答える