2011-04-10 55 views
1

我在我的rails 3應用程序周圍出現了大量重複的flash通知,並最終一次又一次地輸入相同的字符串。以及我想刪除控制器以外的閃存通知的長字符串。來自外部文件的Ruby實例變量

我試圖把它們放在一個外部文件,但我不能訪問實例瓦爾...

我張貼在這裏的代碼:http://pastebin.mozilla.org/1201689

有沒有人有什麼想法?

非常感謝所有幫助:)

回答

2

任務喜歡這些設計的i18n(國際化)。看看http://guides.rubyonrails.org/i18n.html中的第3部分,它使用一個文件來存儲它們,但可以根據語言進行更改。它展示了你正在尋找的東西。即使只使用1種語言,也會刪除經常使用的字符串的重複代碼。

另一種選擇是在定義常量的app/lib文件夾中創建一個模塊。

module FlashNoticeConstants 
    MY_COMMONLY_USED_FIRST = "test" 
    MY_COMMONLY_USED_SECOND = "test2" 
end 
+0

感謝您的回覆Gazler。是否有任何替代i18n lib,可能有點矯枉過正,我試圖做... ??? – Tommy 2011-04-10 21:13:33

+1

我真的不認爲這是過度殺傷。這將你想要的所有字符串存儲在一個文件中,很像你所要求的。你可以手動完成,但你的結果最終會與i18n解決方案非常相似。 – Gazler 2011-04-10 21:15:17

+0

好吧,我一直在看INTL庫,它似乎可能會伎倆。感謝您的高舉。我也會研究模塊,真的很想用ruby類來完成它。 – Tommy 2011-04-10 21:28:31