簡體   English   中英

Rails 3返回HTTP 406不可接受?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM