2012-01-15 110 views
0

我一直在努力在我的rails應用程序中實現Ancestry gem,我幾乎已經按照我希望的方式工作了。find_by_name祖先Gem

我遇到了以下Ancestry README docs的代碼行問題。

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

,我用我的應用程序的代碼如下:

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

有了這個,我收到一條錯誤消息:

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

誰能告訴我是什麼我做錯了,或向我解釋什麼TreeNodesubtree應該被替換?

+0

正如錯誤所述,這是一個語法錯誤。您不能訪問對象屬性(即使用實例變量)。爲什麼你使用'@ messages.arrange'而不是'subtree.arrange'作爲文檔說的? – Alex 2012-01-15 10:04:11

+0

@Alex當我使用'.subtree.arrange'時,我得到一個'undefined method'子樹'錯誤',所以我認爲這是不正確的? – 2012-01-15 10:08:19

回答

1

我相信你想要的是:Message.find_by_name('FedEx').subtree.arrange
Message類應根據自述文件通過has_ancestry執行祖先。

+0

通過''Message'類應該通過'has_ancestry'實現血統我假設你的意思是步驟3,在自述文件中的第2點:'Add to app/models/[model] .rb:has_ancestry'?如果是這樣,我已經做到了。當我使用'Message.find_by_name('FedEx')。subtree.arrange'時,我得到一個'未定義的方法''子樹'錯誤 – 2012-01-15 10:14:14

+0

你能粘貼整個消息「未定義的方法」子樹'X「嗎?是否有任何機會「未定義方法」子樹「零:無類」? – clyfe 2012-01-15 10:17:30

+0

是的,這是正確的'未定義的方法'子樹'爲零:無類' – 2012-01-15 10:47:44