【发布时间】:2018-12-21 23:08:55
【问题描述】:
我正在使用 ruby on rails 并且我基本上试图将两个模块包含到同一个模型/类中,两个模块具有相同的方法名称。下面将演示一个示例,但是我的问题是:
有没有办法有条件地包含模块?要么 有没有办法根据类的具体实例来调用。
一个简单的完整配置文件向导就是一个例子。
它的工作原理
案例 1:如果用户是 Transporter,当用户有 company_name 时,step_one 完成。
案例 2:另一方面,如果用户是客户,则 step_one 在用户有电话时完成。
class User < ApplicationRecord
include ClientWizard
include TransporterWizard
end
module ClientWizard
def step_one_completed?
self.name.present?
end
end
module TransporterWizard
def step_one_completed?
self.company_name.present?
end
end
【问题讨论】:
标签: ruby-on-rails ruby module