使用* _type?方法Rails多态关联| Rails 5

时间:2018-09-04 06:26:57

标签: ruby-on-rails activerecord polymorphic-associations

使用在Polymorphic Associations上的rubyonrails.org's Active Record Associations中找到的示例,我在项目中相应地设置了关联。我希望能够根据:imageable_type设置为"Employee"还是"Product"有条件地显示view元素。显然,我说:

<% 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

我应该在该方法中解析其他内容吗?而且更好;是否有关于如何使用由多态关联添加的这些方法的文档?

谢谢

0 个答案:

没有答案