我有以下代码:
class SupportsController < ApplicationController
before_action :set_support, only: [:show, :edit, :update, :destroy]
....
Run Code Online (Sandbox Code Playgroud)
是否可以将字符串传递set_support给要应用于所有4种视图方法的方法?是否可以将不同的字符串传递给set_support视图中每个方法的方法?
Lin*_*der 141
before_action only: [:show, :edit, :update, :destroy] do
set_support("value")
end
Run Code Online (Sandbox Code Playgroud)
Kyl*_*cot 36
你可以使用lambda:
class SupportsController < ApplicationController
before_action -> { set_support("value") },
only: [:show, :edit, :update, :destroy]
...
Run Code Online (Sandbox Code Playgroud)
小智 8
一个简短的单行答案(我个人更喜欢回调)是:
before_action except:[:index, :show] { method :param1, :param2 }
Run Code Online (Sandbox Code Playgroud)
另一个例子:
after_filter only:[:destroy, :kerplode] { method2_namey_name(p1, p2) }
Run Code Online (Sandbox Code Playgroud)
您可以将 lambdabefore_action传递params[:action]给并传递给set_support方法,如下所示:
class SupportsController < ApplicationController
before_action only: [:show, :edit, :update, :destroy] {|c| c.set_support params[:action]}
....
Run Code Online (Sandbox Code Playgroud)
然后发送的参数是字符串之一:'show', 'edit','update'或'destroy'。
| 归档时间: |
|
| 查看次数: |
32481 次 |
| 最近记录: |