コントローラ内で生成した@userのインスタンス変数をフォームオブジェクトへ渡したいのですが、binding.pryで確認するとnilとなってしまいます。userモデルのidとfolderモデルのidを取得して出来ればと考えております。お力添えいただけると幸いです。
DocumentController内のコード
class DocumentsController < ApplicationController def index @user_name = current_user.name end def new @document = DocumentFolder.new end def create @document = DocumentFolder.new(document_params) @user_id = DocumentFolder.get_user_id(current_user.id) if @document.valid? @document.save else render "new" end end
フォームオブジェクト内のコード
class DocumentFolder include ActiveModel::Model attr_accessor :document_name, :folder_name, :image # バリデーション validates :document_name, presence: true validates :folder_name, presence: true validates :image, presence: true # validates :folder, presence: true # validates :user, presence: true private def self.get_user_id(user_id) user_id end def save folder = Folder.create(folder_name: folder_name, user_id: @user_id) binding.pry Document.create!(document_name: document_name, image: image, user_id: @user_id, folder_id: folder.id) end end
回答1件
あなたの回答
tips
プレビュー