我是否真的需要使用Rails的csv gem?

时间:2018-05-28 18:36:54

标签: ruby-on-rails ruby csv

我的问题很简单:

我是否必须使用Ruby on Rails在类上require 'csv'

如果我打开rails console并尝试使用CSV gem它可以正常工作,但我是否必须在文件中执行此操作?

1 个答案:

答案 0 :(得分:9)

CSV library是ruby标准库的一部分;它不是宝石(即第三方图书馆)。

与所有标准库一样(与 core 库不同),ruby解释器不会自动加载UPDATE MyTable SET barcode = CAST(location AS int) + 2406 WHERE category = 12 AND CAST(location AS int) > 1 AND CAST(location AS int) < 96 。是的,您的应用程序中的某处确实需要csv

require

在诸如rails应用程序之类的大型项目中,您可能会发现irb(main):001:0> CSV NameError: uninitialized constant CSV from (irb):1 from /Users/tomlord/.rbenv/versions/2.4.4/bin/irb:11:in `<main>' irb(main):002:0> require 'csv' => true irb(main):003:0> CSV => CSV 实际上已经加载了;也许在某个地方&#34;模糊&#34;就像在宝石中,或csvconfig/initializers/*中的某个地方。

然而,依赖于加载的图书馆通常是一个坏主意&#34;无关&#34;像这样的地方;这样做可能会导致在更改时无意中破坏其他代码,或者在此处逐渐加载越来越多的库,即使不再需要某些代码。

所以简而言之:是的,我建议在使用config/application.rb库的任何文件的顶部写require 'csv'。或者,在一个较大的项目中,明确需要在许多地方加载和使用此库,可以考虑只在CSV