rails的localization插件

简介:
在用rails做报表,从数据库中提出column_name时遇到了问题,数据库中字段名和报表显示的表头之间怎么做对应,还有页面上的英文怎么做本地化对应。
下面是使用localization插件的方法:
首先在rails应用下执行
ruby script\plugin install localization    
查看下vendor\plugins下应该已经有了localization文件夹,里面有readme
在rails应用下新建lang文件夹,在lang下新建lang.rb,代码如下:
Localization.define('lang') do |l|     
l.store 'name', '名称' 
l.store 'price', '价格'  

end
 
在applicationController.rb里添加代码:
  Localization.lang = 'lang'
在视图里,可以写下面的代码:
<table> 
  <tr> 
  <% for column in Product.content_columns %> 
     <th><%= _(column.name.to_s)%></th> 
  <% end %> 
  </tr> 
   
<% for product in @products %> 
  <tr> 
  <% for column in Product.content_columns %> 
    <td><%=h product.send(column.name) %></td> 
  <% end %>
针对这个例子中,products表里的字段是name, 和price.现在运行rails应用,表头就会显示对应的字段了。
--
对于修改过的lang.rb文件,必须要重启应用才能生效。




本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/88610,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
Ruby
构建 Rack-based 框架 (Rails/Grape/Sinatra) 的几个 Tricks
构建 Rack-based 框架 (Rails/Grape/Sinatra) 的几个 Tricks
|
11月前
|
存储 缓存 Rust
深入浅出 tnpm rapid 模式 - 如何比 pnpm 快 10 秒
深入浅出 tnpm rapid 模式 - 如何比 pnpm 快 10 秒
184 1
|
API Ruby
生成和定制Rails生成器和模板 Creating and Customizing Rails Generators & Templates
生成和定制Rails生成器和模板 Creating and Customizing Rails Generators & Templates
90 0
|
开发工具 git Ruby
生成和定制Rails生成器和模板 Creating and Customizing Rails Generators & Templates2
生成和定制Rails生成器和模板 Creating and Customizing Rails Generators & Templates
78 0
如何手动下载并安装 Visual Studio Code 的 SAP Fiori tools - Extension Pack 扩展
如何手动下载并安装 Visual Studio Code 的 SAP Fiori tools - Extension Pack 扩展
269 0
如何手动下载并安装 Visual Studio Code 的 SAP Fiori tools - Extension Pack 扩展
|
JavaScript Apache Ruby
用 Passenger(mod_rails) 部署 Sinatra
最近写了一些小 app / web service ,因为用不到 rails 那样的大架构和功能,于是尝试了 sinatra。
102 0
用 Passenger(mod_rails) 部署 Sinatra
|
Web App开发 人工智能 测试技术
书籍:Learn Web Development with Python - 2018.pdf
简介 使用最流行的Python Web框架(Django)进行Web编程的Python编程综合指南 主要特点 了解使用Python编程和构建Web应用程序的基础知识 使用Django从头开始构建Web应用程序 使用最新的Django框架创建真实的RESTful Web服务 图书说明 如果您想使用Django开发完整的Python Web应用程序,这个学习路径适合您。
|
Shell
Redmine 插件 Easy Gantt 的安装与测试
Easy Gantt 是 Redmine 的插件,这个插件使得在 Redmine 下进行项目进度规划非常容易。本文介绍 Easy Gantt 插件的安装方法和主要功能。
7333 0