2011-04-10 51 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