Рендеринг не может работать с content_tag

#ruby-on-rails #ruby #ruby-on-rails-3

#ruby-on-rails #ruby #ruby-on-rails-3

Вопрос:

У меня есть рендеринг:

  = render :partial => 'friendship/friends', :collection => @friendships.find_all{|item| item.friend.friends.include?(current_user)}
  

Код рендеринга:

 = content_tag_for(:tr,friendship) do
  %td
    =link_to friendship.friend do
      .post_image.fl_l
        =image_tag friendship.friend.avatar.url(:thumb)
      =friendship.friend.name
      =friendship.friend.surname
    %br
      =link_to "remove",friendship,:method => :delete
  

Он выдает эту ошибку:

 > undefined local variable or method `friendship' for
> #<#<Class:0x5ce61b8>:0x5ce35c0>
  

В моем действии контроллера у меня есть

  @friendships = current_user.friendships
    @users_friended =current_user.inverse_friends
    respond_to do |format|
      format.html
      format.js
  

Я делал то же самое с message

  = render :partial => 'messages/message', :collection => @messages_received
  

Код рендеринга имел

 = content_tag_for(:tr,message) do
....
  

действие контроллера имело

  @user = User.find(params[:id])
    @messages_received=@user.received_messages.reverse
    @messages_sent=@user.sent_messages.reverse
    respond_to do |format|
      format.html
      format.js
  

и это сработало нормально. Я думаю, что я делал то же самое, но это не работает. Что я делаю не так?

Комментарии:

1. извините, моя ошибка, я думал, что второй параметр content_tag является объектом массива render:collection, это неправильно

2. если это решит вашу проблему, вы должны опубликовать ответ самостоятельно и принять его