I'm trying to write an Ember application in Rails 4, and have decided to go with rails-api for the api controllers, while keeping the application controller intact for a few pages that aren't part of the single-page app.  To put it in more concrete terms, here are my controllers:
app/controllers/application_controller.rb:
class ApplicationController < ActionController::Base   protect_from_forgery end   app/controllers/sample_controller.rb:
class SampleController < ApplicationController   # my methods end   app/controllers/api/v1/api_controller.rb:
class Api::V1::ApiController < ActionController::Api   include ActionController::MimeResponds end   app/controllers/api/v1/sample_controller.rb:
module Api::V1   class SampleController < ApiController     respond_to :json      # my methods    end end   My application.html.slim contains the following line:
== render partial: "flash_msgs" unless flash.blank?   The inclusion of which results in the following error:
undefined method 'flash' for #< ActionDispatch::Request:0x007f99f41d8720 >
Per discussion on this thread, it seems that the culprit could be rails-api, but I'm not entirely convinced given the inheritance I've set up. Any suggestions?
Not sure but maybe you need to include the ActionDispatch::Flash middleware to support the flash. Using:
config.middleware.use ActionDispatch::Flash   The docs says:
ActionDispatch::Flash: Supports the flash mechanism in ActionController.
I hope it helps
See: https://github.com/plataformatec/devise/issues/2775
Inside devise.rb change
config.navigational_formats = ['*/*', :html]   to:
config.navigational_formats = [:json]   or just [ ]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With