【发布时间】:2010-03-18 19:17:48
【问题描述】:
我一直在阅读类似的问题,但许多答案对我来说已经过时或不够清楚。
我希望能够(在控制器操作中)执行类似的操作:
respond_to do |format|
format.html
format.csv
end
我知道我需要一个视图,例如 action.csv.erb
所以我的问题是:
1) 我需要在 Rails 中配置什么才能让这种情况发生。
2) 我应该如何设置 CSV 视图以显示模型中的一些基本字段?
更新:
所以我尝试走逗号的路线,我安装并出售了 gem。
然后根据我的阅读,我把这个扔到我的模型中(根据我的需要定制):
comma do
user_id 'User'
created_at 'Date'
name 'Name'
end
然后我将其放入控件中以进行索引操作(根据自述文件):
format.csv { render :csv => MyModel.limited(50) }
然后在访问索引时(不是 CSV 格式)我收到以下 ActionController 异常错误:
未定义的方法“逗号”
然后我用谷歌搜索,我读到我应该在我的模型中加上 require 'comma'。
这样做之后,我刷新了(我的本地索引页面),错误变为:
没有要加载的文件 -- 逗号
所以在这一点上我决定它一定不能明显地找到逗号文件。所以我将文件从 comma 的 vendored gem 文件夹,从 comma 的 lib 文件夹复制到 rails lib 文件夹。然后我刷新了页面并出现了这个错误:
未初始化常量错误
然后我几乎放弃了。
来自跟踪的错误是:
/Users/elliot/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:443:in
load_missing_constant' /Users/elliot/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:80:inconst_missing' /Users/elliot/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:92:in `const_missing'
其他说明,我已经安装了 FasterCSV
希望有足够的信息:)
【问题讨论】:
标签: ruby-on-rails csv