Я конвертирую свое приложение Rails 2 в Rails 3. До сих пор я был успешным. Тем не менее, есть такая странная проблема, что я должен явно требовать любые внешние файлы. Вот моя оригинал (т.е. Rails 2) ActiveRecord модель:явное требование в Rails 3
class Book < ActiveRecord::Base
belongs_to :author
has_many :translations, :dependent => :destroy
include Freebase
...
end
для того, чтобы сделать его работу в Rails 3, я должен требовать от модели Translation и Freebase.rb файл, таким образом:
class Book < ActiveRecord::Base
require File.expand_path(File.dirname(__FILE__) + '/translation.rb')
belongs_to :author
has_many :translations, :dependent => :destroy
require File.expand_path(File.dirname(__FILE__) + '../../../lib/freebase.rb')
include Freebase
...
end
Это обычный способ в Rails 3, или я делаю что-то неправильно. Другими словами, почему это необходимо для явно включают эти файлы? Вероятно, может быть какая-то причина для файла Freebase.rb, который находится в папке lib, но как насчет модели , которая находится в том же каталоге?
Спасибо, ребята!
Спасибо большое! Как насчет того факта, что мне нужно загрузить файлы моих моделей? Rails не распознает JSON, даже если он встроен. Смешные вещи происходят! –
О JSON - кажется, мне нужно вызвать его так: 'ActiveSupport :: JSON', и он сработает. –