2016-05-14 4 views
0

UsersControllerRails Частичные с переменной

def index 
    @users = User.all.paginate(page: params[:page]) 
end 

пользователей/index.html.erb

<% @users.in_groups_of(3, false).each do |users| %> 
    <% users.each do |user| %> 
     <% unless current_user == user %> 
     <div id="follow"> 
      ???????????? 
     </div> 
     <% end %> 
    <% end %> 
    <% end %> 
    <%= will_paginate @users %> 

Я хочу, чтобы включить следующее в частичном, 'пользователей/_follow_form'

<% if current_user.following?(user) %> 
    <%= form_for(current_user.active_relationships.find_by(followed_id: user.id), 
    html: { method: :delete }, remote: true) do |f| %> 
     <%= f.submit "Unfollow", class: "btn btn-primary" %> 
    <% end %> 
    <% else %> 
    <%= form_for(current_user.active_relationships.build, remote: true) do |f| %> 
     <div><%= hidden_field_tag :followed_id, user.id %></div> 
     <%= f.submit "Follow", class: "btn btn-primary" %> 
    <% end %> 
    <% end %> 
</div> 

Какой код мне нужно использовать для визуализации?

ответ

1
<div id="follow"> 
    <%= render partial: "users/follow_form", locals: {passUser: user} %> 
</div> 

Это передаст вашу <% users.each do |user| %>пользователя к парциальному назначено passUser. Вы можете получить эту passUser переменную в users/_follow_form парциальное как:

<% if current_user.following?(passUser) %> 

Проверить this больше.

Смежные вопросы