2
我不確定它是什麼。我剛剛升級到Rails 3.0.9從3.1和這裏就是我在我的規格得到:Rails 3.1 respond_to&render_403問題
PeopleController edit action should require owner
Failure/Error: response.should render_template("/public/403.html")
expecting <"/public/403.html"> but rendering with <"search/_search_menu_item">
這是所有在我的各種控制器規格。我也有這個代碼在我的AppController:
def render_403
respond_to do |format|
format.html { render :file => "#{Rails.root}/public/403.html", :status => 403, :layout => false }
format.json { render :json => { :error => true, :message => "Error 403, you don't have permissions for this operation." } }
end
end
而這把PeopleController:
def edit
render_403 unless @person.account.id == current_account.id
end
我敢肯定,format.html
塊被執行(選中它)。然而,規範期望失敗。不知道這裏發生了什麼。
(search/_search_menu_item
是被包含在每一個頁面,這基本上意味着應用程序佈局得到,而不是在這裏呈現的部分。)
更新:我在#edit
與render(:file => "#{Rails.root}/public/403.html", :status => 403, :layout => false)
更換render_403
看個究竟 - 得到了同樣的結果。