Vraag Rails 3 die een HTTP 406 retourneren, niet acceptabel?


Ik heb de volgende controlecode:

  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

en de volgende routes:

           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"}

Nu, afgezien van de enigszins rare naamgeving - de omleidingen resulteren altijd in een 406 Niet acceptabel. Wat kan er mis zijn?


44
2017-09-20 11:33


oorsprong


antwoorden:


Verwijderen respond_to do |format| blokken. Omdat u niet opgeeft in welk formaat u reageert, bijvoorbeeld format.html { #your code here } . Controleer de documentatie van respond_to hoe het correct te gebruiken.


80
2017-09-20 11:40



Ik had een soortgelijke foutmelding, mijn controller reageerde alleen op JSON. Ik had het nodig om te reageren op HTML, ook voor de tests om te werken (wat alleen maar logisch is):

class AdsController < ApplicationController
  respond_to :json, :html

Ik ontving de foutmelding wanneer ik probeerde te doen: assert_redirected_to ad_url (ad)


9
2018-06-14 17:00