1

Machinistを使用して、他のブループリントから属性を継承するようにブループリントを定義する方法はありますか?私は見つけたすべてのドキュメントと例を見てきましたが、それが起こっているのを見たことがありません。

私はこのようなことをしたい:

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ブループリントからグループ属性を継承する場合。

これは可能ですか?

4

1 に答える 1

1

はい、それは部分的に可能です。少なくともMachinist 1では可能です(私はMachinist 2では試していません)。特定のクラスのデフォルトのブループリントからのみ属性を継承できます。

構文は正しいです。https://github.com/notahat/machinist/tree/1.0-maintenanceの「NamedBlueprints」を参照してください。ただし、ブループリントの寄稿者はデフォルトのユーザーブループリントから直接継承します。コントリビューターブループリントでグループ属性を手動で設定する必要があります。

管理者ユーザーを作成するための構文はUser.make(:admin)です。

于 2011-03-02T22:38:52.873 に答える