1

使用机械师,是否有某种方式可以定义蓝图,以便它们从其他蓝图继承属性?我查看了我找到的所有文档和示例,但我没有看到它发生。

我想做这样的事情:

User.blueprint do
    name
    email
end

User.blueprint(:admin) do
    is_admin { true }
end

User.blueprint(:editor) do
    is_editor { true }
    group
end

User.blueprint(:contributor) do
    is_editor { true }
end

它们都从第一个蓝图继承名称/电子邮件,而 :contibutor 蓝图从 :editor 蓝图继承 group 属性。

这可能吗?

4

1 回答 1

1

是的,这是部分可能的,至少对于机械师 1(我还没有尝试过机械师 2)。您只能从给定类的默认蓝图继承属性。

您的语法是正确的,请参阅https://github.com/notahat/machinist/tree/1.0-maintenance中的“命名蓝图”,但您的蓝图贡献者直接继承自默认用户蓝图。您必须在贡献者蓝图中手动设置组属性。

创建管理员用户的语法是User.make(:admin).

于 2011-03-02T22:38:52.873 回答