У Google Chrome странное поведение при переключении между http / https. Я думаю, у него есть какой-то кеш. Нет ничего плохого в вашем PHP-скрипте, если он работает в FF. Так что дайте Chrome немного времени ...
#becomes
это то, что вы ищете:
http://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-becomes
Вам не нужно приводить, так как Ruby не выполняет проверку типов во время компиляции. Что вы пытаетесь достичь?
Скажем, у вас есть класс Dad
и дочерние классы Son
и Daughter
.
Вы можете просто иметь переменную @dad и хранить в ней объект Son
или Daughter
, и просто обращаться с ним, как если бы он был Dad
. Пока они отвечают на те же методы, это не имеет значения. Это понятие называется «типирование утки».
Создайте новый экземпляр B для установки значений атрибутов, которые он разделяет с A.
Что-то вроде:
class C < ActiveRecord::Base
end
class A < C
end
class B < C
end
@a = A.new(...)
@b = B.new(@a.attr1, @a.attr2, ..., @a.attrN)