2016-10-31 8 views
0

У меня есть модель с именем Fave. Он относится к другой модели с именем User.Rails считает, что «faves» относится к модели под названием «Fafe»

Я пытаюсь найти Faves пользователя, позвонив по телефону @user.faves. Мой сервер возвращает мне следующую ошибку:

NameError: uninitialized constant User::Fafe 

Почему бы это думать единственное из «любимых» является «Fafe»? Есть ли какая-то другая форма множественного числа, которую я могу использовать, которая будет указывать на «fave»?

ответ

3

Вы можете передать имя класса во время настройки ассоциации

has_many :faves, class_name: "Fave" 
2

Можем ли мы попробовать это в config/initializers/inflections.rb? Это может работать

ActiveSupport::Inflector.inflections do |inflect| 
    inflect.irregular 'fave', 'faves' #append this to the existing ones 
end 
+0

Это кажется вероятным. Я знаю, что регулярное выражение, которое Rails зависит от поиска множественного перегиба «рукава», вернет «sleefe», а не «рукава». Проверьте [этот ответ] (http://stackoverflow.com/questions/32337665/table-pluralization/32337815#32337815) для получения дополнительной информации о том, как перегибы работают в Rails. – MarsAtomic