ruby on rails - tipo - ¿Cómo uso las extensiones principales de soporte activo?
programa para abrir archivos desconocidos (4)
Como usar Rails debería manejar esto automáticamente, supongo que estás tratando de agregar soporte activo a un script que no sea de Rails.
Lea " Cómo cargar extensiones principales ".
Los métodos de Soporte Activo se dividieron en grupos más pequeños en Rails 3, por lo que no terminamos cargando muchas cosas innecesarias con un simple require ''activesupport''
. Ahora tenemos que hacer cosas como require ''active_support/core_ext/object/blank''
Si no le importa la granularidad, puede optar por cargar trozos más grandes. Si quieres todo en un gran trago, usa ...
Para 1.9.2:
rvm 1.9.2
irb -f
irb(main):001:0> require ''active_support/all''
=> true
irb(main):002:0> 1.week.ago
=> 2010-11-14 17:56:16 -0700
irb(main):003:0>
Para 1.8.7:
rvm 1.8.7
irb -f
irb(main):001:0> require ''rubygems''
=> true
irb(main):002:0> require ''active_support/all''
=> true
irb(main):003:0> 1.week.ago
=> Sun Nov 14 17:54:19 -0700 2010
irb(main):004:0>
Tengo Active Support 3.0.3 instalado y Rails 3.0.3 con Ruby 1.8.7.
Cuando trato de usar 1.week.ago
consigo
NoMethodError: undefined method ''week'' for 1:Fixnum
from (irb):2
Las otras extensiones principales parecen funcionar. Lo probé en la computadora de un amigo (las mismas especificaciones de instalación y versiones heredadas están en él) con los mismos resultados.
¿Lo que da?
Todo esto está en IRB.
Funciona esto desde la consola? Esto es trabajo para mí:
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.6.5
BuildVersion: 10H574
$ rails c
Loading development environment (Rails 3.0.3)
>> 1.week.ago
=> Sun, 14 Nov 2010 16:57:18 UTC +00:00
Puede agregar granularmente bibliotecas a través de lo ya mencionado
require ''active_support/core_ext/some_class/some_file''
También hay otro nivel donde puedes
require ''active_support/core_ext/some_class''
Pero, por el momento, lamentablemente no está disponible para Time
, Date
y Date
y Time
.
Una forma de evitar esto es require ''active_support/time''
que le dará la Time
, Date
y Date
y Time
que resolvería el OP que estaba solicitando sin requerir todo.
El parche My Rails , que agrega active_support/core_ext/date
y date_time
, lo convirtió en Rails v4.0.0 , por lo que ahora puede solicitarlos individualmente. ¡HURRA!
Usted puede :
requiere ''active_support / core_ext''
o:
requiere ''active_support / all''