ruby 带条件的动作a或b之前的Rails_

d5vmydt9  于 2023-03-17  发布在  Ruby
关注(0)|答案(1)|浏览(101)

我有两个before_action,A和B。例如,如果用户从亚洲登录的国家,我希望运行before_action A。否则,我希望运行before_action B。
我有一个函数来检查登录是从哪里进行的,名为is_login_from_asia?,我最初想的是像下面这样的before操作,
before_action :A, if: :is_login_from_asia?
before_action :B, if: :!is_login_from_asia?
这是正确的方法吗?或者有更好的方法(例如,before_action + if/else)来实现这一点吗?提前感谢!

3wabscal

3wabscal1#

我会这样写:

before_action :handle_login_from_asia

private

def handle_login_from_asia
  is_login_from_asia? ? A : B
end

相关问题