我在erb模板中有一个局部变量:
<% thumbnail_width = 50 %>
我正在使用它来缩放一些缩略图.
但是现在我意识到需要访问这个变量的一些模板.
我应该在哪里移动它应该是什么类型的变量?
解决方法
有几种解决方案,具体取决于这个变量如何与Rails环境交互.
配置
您可以使用全局配置文件(参见例如SimpleConfig plugin).当变量可能根据环境而改变时,这是首选.
常量
如果变量可以在许多不同的地方和上下文中访问,你可以定义一个常量.例如,您可能需要创建该文件
config/initializers/defaults.rb
并写入所有默认配置和常量.这里定义的常量将在您的Rails应用程序中自动提供.
助手
如果您的变量与应用程序的特定部分(例如视图)相关联,则可能需要利用Rails帮助程序.
在具体情况下,您可以在application_helper.rb中创建一个图像助手
module ApplicationHelper THUMBNAIL_WIDTH = 50 def thumbnail_tag(source,options = {}) image_tag(source,options.reverse_merge(:width => THUMBNAIL_WIDTH)) end end