Domanda

Ho un modello per l'utente che può postare microblog e si vede sulla pagina spettacolo utente, ma mi chiedevo come sarei stato in grado di mostrare l'utente ha effettuato microblog su un modello che appartiene l'utente per esempio in questo caso una scuola. Gli utenti appartengono a scuole specifiche e le scuole hanno molti utenti sotto di loro. Tutto l'aiuto molto apprezzato!

Utente Mostra pagina

<div id="MicropostBody">
 <div>
 <% if @user.microposts.any? %>
    <table class="microposts">
      <%= render @microposts %>
    </table>
    <%= will_paginate @microposts %>
 <% end %>
 </div>
</div>

Scuola Mostra pagina Stessa cosa?

<div id="MicropostBody">
 <div>
 <% if @user.microposts.any? %>
    <table class="microposts">
      <%= render @microposts %>
    </table>
    <%= will_paginate @microposts %>
 <% end %>
 </div>
</div>

dell'utente del controller

def show
  @user = User.find(params[:id])
  @school = School.find(params[:id])
  @micropost = Micropost.new
  @microposts = @user.microposts.paginate(page: params[:page])
end

Scuola controller Stessa cosa ??

def show
  @user = User.find(params[:id])
  @school = School.find(params[:id])
  @micropost = Micropost.new
  @microposts = @user.microposts.paginate(page: params[:page])
end

nuovo controller scuola

def show
  @school = School.find(params[:id])
  @user = User.new
  @micropost = Micropost.new
  @microposts = @school.microposts.paginate(page: params[:page])
  @micropost = current_school.microposts.build
end
È stato utile?

Soluzione

Date di nuovo un'occhiata alla parziali sezione delle rotaie tutorial di prenotare prima di leggere oltre, se si sta ancora lottando.

users/_microposts.html.erb

<div id="MicropostBody">
  <div>
    <% if microposts.any? %>
      <table class="microposts">
        <%= render microposts %>
      </table>
      <%= will_paginate microposts %>
    <% end %>
  </div>
</div>

Poi in entrambe le visualizzazioni è possibile utilizzare:

<%= render 'users/microposts', :microposts => @microposts %>

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top