2012-08-09 22 views
0

我正在進入寶石進行一些測試,我已經從lib中加載方法並將它們用於我的應用程序,這裏的問題是我正在嘗試撥打:如何將我的幫手包含進我的寶石中並將它們加載到Rails應用程序中

應用程序/傭工/ test_helper.rb中

module TestHelper 
    def tags_inserted(person) 
    content_tag(:p, "Hello #{person}!") 
    end 
end 

,當我寫:

= tags_inserted('myname') 

我的代碼裏面只是說:

undefined method `tags_inserted' for #<#<Class:0x00000003efdc80>:0x00000003fce4c0> 

心中已經做了一些搜索和大家說,在寶石的傭工的標準是把它們放在裏面/lib目錄 directorie,但我的老闆告訴我,將它們放置在/應用程序/傭工/應該工作, 我該怎麼辦?

回答

0

我最後一次與軌道2 我已經放在輔助模塊中的lib目錄與init.rb添加以下行這是擺在根目錄中的寶石/插件做到了:

ActionController::Base.helper TestHelper 

它使TestHelper模塊方法可用於模板。下面是上述幫助方法的工作方式:helper method

+0

我調用方法,改變了一些東西,但將其稱爲= Newgem.tags_inserted,它說:未定義的方法content_tag(),它的神奇,因爲它被認爲是part的紅寶石不是嗎? – 2012-08-10 19:58:46

+0

它是rails的一部分,但probaby rails不是你的寶石的一部分,所以這種方法不適用於你。您必須將操作視圖添加爲newgem.gemspec中的依賴項。然後包含一個模塊ActionView :: Helpers :: TagHelper。需要action_view可能也需要。 – pkubicki 2012-08-10 20:36:10

+0

thnx幫了很大忙 – 2013-04-05 20:46:11

相關問題