#activerecord #ruby-on-rails-3.1
#activerecord #ruby-on-rails-3.1
Вопрос:
Я довольно долго застрял на этом:
class Something< ActiveRecord::Base
table_name= "different_name"
end
и это не сработало, сказав, что таблица ‘Something’ не существует (что верно), пока я не изменил эту обреченную строку на
set_table_name "different_name"
Это было бы нормально, за исключением того, что в руководстве Rails утверждается, что set_table_name ‘Также имеет псевдоним: имя_таблицы=’.
Итак, я новичок в rails, но что означает это «также с псевдонимами»? Или это просто ошибка?
Ответ №1:
Вам нужно сделать self.table_name = "different_name"
, чтобы использовать эту форму. Это особенность ruby: она присваивает локальную переменную table_name
вместо фактического вызова метода.