Tengo el siguiente código:
class SupportsController < ApplicationController
before_action :set_support, only: [:show, :edit, :update, :destroy]
....
¿Es posible pasar una cadena al método set_supportque se aplicará para los 4 métodos de vista? ¿Es posible pasar una cadena diferente al método set_supportpara cada método en la vista?

before_action only: [:show, :edit, :update, :destroy] do |c| c.set_support(params[:action) endPuedes usar una lambda:
class SupportsController < ApplicationController before_action -> { set_support("value") }, only: [:show, :edit, :update, :destroy] ...fuente
Una respuesta breve y de una sola línea (que personalmente prefiero para las devoluciones de llamada ) es:
before_action except:[:index, :show] { method :param1, :param2 }Otro ejemplo:
after_filter only:[:destroy, :kerplode] { method2_namey_name(p1, p2) }fuente
Puede pasar una lambda al
before_actiony pasarparams[:action]alset_supportmétodo de esta manera:class SupportsController < ApplicationController before_action only: [:show, :edit, :update, :destroy] {|c| c.set_support params[:action]} ....A continuación, se envía el parámetro es una de las cadenas:
'show','edit','update'o'destroy'.fuente
El controlador de soportes
class SupportsController < ApplicationController before_action only: [:show, :edit, :update, :destroy] { |ctrl| ctrl.set_support("the_value") } ...El ApplicationController
class ApplicationController < ActionController def set_support (value = "") p value end ...fuente