2

何らかの理由で、このエラーが発生し続けます。

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])

終わり

そして、全体を通してクラス変数を使い続けます。しかし、誰かがクラス変数を使用することはお勧めできないと私に言いました。これを正しく行うにはどうすればよいですか?

4

1 に答える 1

0

@album = Album.find(params [:video] [:album_id])

于 2012-05-18T01:56:15.560 に答える