2012-01-15 10 views
0

私は自分のレールアプリで祖先の宝石を実装しようと努力しています。find_by_name祖先の宝石

Ancestry README docsの次のコード行に問題があります。次のように

TreeNode.find_by_name('Crunchy').subtree.arrange 

私は私のアプリで使用していたコードは次のとおりです。誰がどのような私を教えてもらえます

syntax error, unexpected tIVAR 
...find_by_name('FedEx')[email protected]);@output_buffer.saf... 
... 

:これにより

Message.find_by_name('FedEx')[email protected] 

、私はエラーメッセージを取得しています間違っている、または私に何をTreeNodesubtreeと置き換える必要がありますか?

+0

エラーが示すとおり、これは構文エラーです。そのようなオブジェクトプロパティ(インスタンス変数を使用)にアクセスすることはできません。 docsが言うように 'subtree.arrange'ではなく' @ messages.arrange'をなぜ使用していますか? – Alex

+0

@Alex '.subtree.arrange'を使うと'未定義のメソッド 'サブツリー'エラー 'が出ますので、これは間違っていると思いますか? –

答えて

1

私はあなたがしたいと思っている:Message.find_by_name('FedEx').subtree.arrange
MessageクラスはREADMEに従ってhas_ancestryで祖先を実装する必要があります。

+0

'' Message'クラスは 'has_ancestry'を介して祖先を実装する必要があります。READMEにステップ3、箇条書き2を意味すると思います: 'app/models/[model] .rb:has_ancestry'に追加しますか?もしそうなら、私はこれをしました。 'Message.find_by_name( 'FedEx')。subtree.arrange'を使用すると、'未定義メソッド 'サブツリーのエラーが発生する –

+0

"未定義メソッド "サブツリー 'for X"というメッセージ全体を貼り付けることができますか?何らかの機会に「未定義メソッド」のサブツリー「nil:Nilクラス」ですか? – clyfe

+0

はい、正しくありません。未定義メソッドサブツリーfor nil:Nil class' –