在用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><%= _(.to_s)%></th>
  <% end %>
  </tr>
  
<% for product in @products %>
  <tr>
  <% for column in Product.content_columns %>
    <td><%=h product.send() %></td>
  <% end %>
针对这个例子中,products表里的字段是name, 和price.现在运行rails应用,表头就会显示对应的字段了。
--
对于修改过的lang.rb文件,必须要重启应用才能生效。