I have web site built with Rails3 and now I want to implement json API for mobile client access. However, sending json post request from the client because of the protect_fr
Instead of disabling the CSRF check you can pass the authenticity_token field in your forms, eg:
<%= hidden_field_tag :authenticity_token, form_authenticity_token %>
http://apidock.com/rails/v2.0.0/ActionController/RequestForgeryProtection/ClassMethods/protect_from_forgery
Add the code below to your ./app/controllers/application_controller.rb
:
protect_from_forgery unless: -> { request.format.json? }
You can just skip the authenticity token check if its a json request
class ApplicationController < ActionController::Base
skip_before_filter :verify_authenticity_token, if: :json_request?
def json_request?
request.format.json?
end
end