Как использовать вывод метода класса в поле зрения? - PullRequest
0 голосов
/ 31 мая 2011

У меня есть метод класса find_all_media в модели abc.rb. Модель xyz и abc имеет отношения,

abc :has_many xyzs and

xyz :belongs_to abc

def self.find_all_media(media_name)

  if self.media_name == self.xyz.media_name
    return media_name
 end
end 

Я хочу вызвать этот метод в

 ### xyz/index view file
<% @abc.xyzs.each do |xyz| %>
<tr>
  <td><%=h xyz.media_name %></td>
  <td><%=h xyz.type %></td>
  <td>I want to call method find all_media here ?? </td>

Я пытался, но не работает, какие-либо предложения ??

Ответы [ 2 ]

0 голосов
/ 31 мая 2011

Я вижу проблему в вашем методе класса, вы написали его как метод класса и пытаетесь получить к нему доступ к методам экземпляра, т.е. media_name и xyz.media_name.так что сделайте это методом экземпляра, как предложил rc.

<% @abc.xyzs.each do |xyz| %>
<tr>
  <td><%=h xyz.media_name %></td>
  <td><%=h xyz.type %></td>
  <td><% @abc.find_all_media(xyz.media_name) %></td> # calling find_all_media
0 голосов
/ 31 мая 2011

Из вашего кода представления и состояния, которое вы поддерживаете, похоже, что вам нужен метод экземпляра, а не метод класса.

def find_all_media(media_name)
   return media_name if self.media_name == self.xyz.media_name
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...