Используя пример, найденный в Полиморфные ассоциации , найденные в Ассоциации активных записей rubyonrails.org , я настроил соответствующую ассоциацию в проекте. Я хотел бы иметь возможность отображать элемент представления в зависимости от того, установлено ли :imageable_type
на "Employee"
или "Product"
. Очевидно, я могу сказать:
<% if @picture.imageable_type == "Employee" %>
<p>Do stuff...</p>
<% end %>
Но после запуска > Picture.first.methods
я вижу, что imageable_type?(*args)
- это метод, доступный для этой ассоциации, но я не вижу никакой документации о том, как его использовать ...
Я попробовал это, ожидая, что вернется логическое значение:
> Picture.first.imageable_type?(:employee)
> Picture.first.imageable_type?("Employee")
но я получил ошибку: ArgumentError: wrong number of arguments (given 2, expected 1)
2.4.0 :028 > Picture.first.imageable_type?(:employee)
Picture Load (3.2ms) SELECT `pictures`.* FROM `pictures` ORDER BY `pictures`.`id` DESC LIMIT 1
ArgumentError: wrong number of arguments (given 2, expected 1)
from (irb):28
Должен ли я анализировать что-то еще для метода? И еще лучше; Есть ли документация о том, как использовать эти методы, добавленные полиморфной ассоциацией?
Спасибо