What does before_action returning false do in Rails 4?

Viewed 30275

I am reading the "Agile Web Development with Rails 4", on pag. 338 it says:

[...] Callbacks can be passive, monitoring activity performed by a controller. They can also take a more active part in request handling. If a before action callback returns false, then processing of the callback chain terminates, and the action is not run. [...]

Now my doubt is the following: here how to execute an action if the before_action returns false it was told that the goal of the before_action is to prepare something before the action is executed, if it returns false it doesn't mean that the action is not run, but according the book it is right so...so I am getting a little bit confused.

If I'm trying the following

class ProductsController < ApplicationController
before_action :test

  def index
    @products = Product.all
  end


  private

    def test
      return false
    end
end

But the action is executed, when I call /products I do not get any error and the page shows up just fine

1 Answers
Related