Используете * _type? методы рельсов полиморфные ассоциации | Рельсы 5 - PullRequest
0 голосов
/ 04 сентября 2018

Используя пример, найденный в Полиморфные ассоциации , найденные в Ассоциации активных записей 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

Должен ли я анализировать что-то еще для метода? И еще лучше; Есть ли документация о том, как использовать эти методы, добавленные полиморфной ассоциацией?

Спасибо

...