何らかの理由で、このエラーが発生し続けます。
IDのないアルバムが見つかりませんでした
しかし、私のdebug.paramsには次のように書かれているので、それは意味がありません。
{"utf8" => "✓"、
"authenticity_token" => "os9DVVZS6 // bs3Ne2Xfrh4VnKXNtDXkZaE4s / 3iQagE ="、
"video" => {"url" => "www.youtube.com/watch?v=yIRuri1AB0I"、
"album_id" => "1"}、
"commit"=>"次へ"}
コントローラは次のとおりです。
クラスVideosController<ApplicationController
AlbumsHelperを含める
before_filter:signed_in_user、のみ:[:create、:destroy]#後で更新を追加
before_filter:correct_user、のみ::destroy
def show
@video = Video.find(params[:id])
end
def new
if signed_in?
@album = Album.find(params[:album_id])
@video = @album.build_video
end
end
def create
@album = Album.find(params[:album_id])
@video = @album.build_video(params[:video])
if @video.save
flash[:success] = "Success!"
redirect_to new_small_reward_path(:album_id => @album)
else
render 'new'
end
end
終わり
フォームに非表示のフィールドを追加することもできました。これを行う必要はないと思いましたが、次のことを試してみることにしました。
[送信]をクリックする前に、URLに/ videos / new?album_id=1と表示されます。
これを使用してコントローラーを作成すると、この問題は完全に解消されます。
def new
@@ album = Album.find(params [:album_id])
終わり
そして、全体を通してクラス変数を使い続けます。しかし、誰かがクラス変数を使用することはお勧めできないと私に言いました。これを正しく行うにはどうすればよいですか?