2012-05-18 64 views
2

由於某種原因,我不斷收到此錯誤。「無法找到沒有ID的[模型]」Rails 3.2.3

沒有ID

但由於我的debug.params它說,沒有意義找不到專輯:

{ 「UTF-8」=> 「✓」,

「authenticity_token」=> 「os9DVVZS6 // bs3Ne2Xfrh4VnKXNtDXkZaE4s/3iQagE =」,

「視頻」=> { 「URL」=> 「www.youtube.com/watch?v=yIRuri1AB0I」,

「album_id」=> 「1」},

「提交」=> 「下一步」}

這裏是控制器:

類VideosController < ApplicationController中

包括AlbumsHelper

的before_filter:signed_in_user,僅:[:創建,:破壞]#將更新後

的before_filter:correct_user,僅:破壞

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 

我甚至在窗體中添加了一個隱藏字段,我認爲我不應該這麼做,但是dec ided嘗試:

的URL說/視頻/新album_id = 1點擊提交之前?

此問題完全消失,如果我寫與此控制器:

DEF新

@@專輯= Album.find(PARAMS [:album_id])

然後繼續在整個事情中使用類變量。但有人告訴我,不鼓勵使用類變量。我如何正確地做到這一點?

回答

0

@album = Album。找到(PARAMS [:視頻] [:album_id])

+0

和u必須使用隱藏字段(隱藏字段@video = @ album.build_video =>屬性) –

+0

隱藏字段?隱藏字段中的屬性是什麼? – codelitt

+0

f.hidden_​​field:album_id –

相關問題