由於某種原因,我不斷收到此錯誤。「無法找到沒有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])
端
然後繼續在整個事情中使用類變量。但有人告訴我,不鼓勵使用類變量。我如何正確地做到這一點?
和u必須使用隱藏字段(隱藏字段@video = @ album.build_video =>屬性) –
隱藏字段?隱藏字段中的屬性是什麼? – codelitt
f.hidden_field:album_id –