[英]Rails 3 returning a HTTP 406 Not Acceptable?
我有以下控制器代碼:
def create
@admin = Admin.new(params[:admin])
respond_to do |format|
if @admin.save
redirect_to(@admin, :notice => 'Admin was successfully created.')
else
render :action => "new"
end
end
end
def update
@admin = Admin.find(params[:id])
respond_to do |format|
if @admin.update_attributes(params[:admin])
redirect_to(admin_admins_path, :notice => 'Admin was successfully updated.')
else
render :action => "edit"
end
end
end
以及以下路線:
admin_admins GET /admin/admins(.:format) {:action=>"index", :controller=>"admin/admins"}
admin_admins POST /admin/admins(.:format) {:action=>"create", :controller=>"admin/admins"}
new_admin_admin GET /admin/admins/new(.:format) {:action=>"new", :controller=>"admin/admins"}
edit_admin_admin GET /admin/admins/:id/edit(.:format) {:action=>"edit", :controller=>"admin/admins"}
admin_admin GET /admin/admins/:id(.:format) {:action=>"show", :controller=>"admin/admins"}
admin_admin PUT /admin/admins/:id(.:format) {:action=>"update", :controller=>"admin/admins"}
admin_admin DELETE /admin/admins/:id(.:format) {:action=>"destroy", :controller=>"admin/admins"}
現在,除了稍微笨拙的命名之外 - 重定向總是導致406不可接受。 可能有什么不對?
刪除respond_to do |format|
塊。 因為您沒有指定要響應的格式,例如format.html { #your code here }
。 檢查respond_to如何正確使用它的文檔。
我有一個類似的錯誤,我的控制器只響應JSON。 我還需要它來響應HTML以使測試工作(這才有意義):
class AdsController < ApplicationController
respond_to :json, :html
我在嘗試時收到錯誤:assert_redirected_to ad_url(ad)
在生產中部署之后,我開始遇到這個問題,甚至一切都在開發中運行良好。
經過大約15分鍾的浪費時間后,我終於發現我忘了提交一些視圖文件(比如index.html.erb) 。
在服務器上使用tail -f log/production.log
顯示: FATAL -- : ActionController::UnknownFormat (SomeController#index is missing a template for this request format and variant.
在開發過程中,錯誤沒有發生,因為顯然,視圖文件存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.