したがって、ユーザーの作成と認証に加えて、Devise は以下を追加しました。
- ユーザー モデル (データベース内のユーザー テーブルに基づく)
- コントローラーコードとビューで利用可能な current_user メソッド
関連するすべてのモデルで電子メールの代わりにforeign_keyを使用したい場合user_id
、足場の生成は次のようになります(名前をあなたのものから少し変更しましたが、アイデアはわかります)
rails g scaffold TimeSheet user_id:integer day:date hours_worked:integer minutes_worked:integer
User
次に、モデルと新しく作成されたモデルを更新してTimeSheet
、2 つのモデル間の関連付けを作成する必要があります。
詳細については、Rails ガイドを参照してください: http://guides.rubyonrails.org/association_basics.html
class User
# ...
has_many :time_sheets
end
class TimeSheet
belongs_to :user
end
create
スキャフォールドで生成されたビューから user_id を削除し、update
アクション中にコントローラーに設定する必要があります。
def create
@time_sheet = TimeSheet.new(params[:time_sheet])
@time_sheet.user = current_user
# ....