Rails layouts per action?
If you are only selecting between two layouts, you can use :only
:
class ProductsController < ApplicationController
layout "admin", only: [:new, :edit]
end
or
class ProductsController < ApplicationController
layout "application", only: [:index]
end
You can use a method to set the layout.
class MyController < ApplicationController
layout :resolve_layout
# ...
private
def resolve_layout
case action_name
when "new", "create"
"some_layout"
when "index"
"other_layout"
else
"application"
end
end
end