Rails 4 before_action,将parameter passing给被调用的方法
我有以下代码:
class SupportsController < ApplicationController before_action :set_support, only: [:show, :edit, :update, :destroy] ....
是否有可能传递一个string的方法set_support
适用于所有4个视图方法? 是否有可能传递一个不同的string的方法set_support
为视图中的每个方法?
before_action only: [:show, :edit, :update, :destroy] do set_support("value") end
你可以使用lambda:
class SupportsController < ApplicationController before_action -> { set_support("value") }, only: [:show, :edit, :update, :destroy] ...
您可以将lambda传递给before_action
,并将params[:action]
传递给set_support
方法,如下所示:
class SupportsController < ApplicationController before_action(only: [:show, :edit, :update, :destroy]) ->{|c| c.set_support params[:action]} ....
简短的回答和单行(我个人比较喜欢callback )是:
before_action except:[:index, :show] {method :param1, :param2}
另一个eaxmple
after_filter only:[:destroy, :kerplode] {method2_namey_name(p1, p2)}