Rails 3.1.1 ActiveRecord имя_таблицы = не работает

#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 вместо фактического вызова метода.