質問

マイクロブログを投稿できるユーザーモデルがあり、ユーザーショーページに表示されますが、ユーザーがマイクロブログを作成して、この場合は学校に属しているモデルにマイクロブログを作成したことをどのように表示できるのだろうと思っていました。ユーザーは特定の学校に属し、学校には多くのユーザーがいます。すべてが高く評価されています!

ユーザーショーページ

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

学校のショーページ 同じこと?

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

ユーザーコントローラー

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

学校のコントローラー同じこと??

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

新しい学校のコントローラー

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
役に立ちましたか?

解決

振り返ってください 部分的 あなたがまだ苦労しているなら、さらに読む前にRailsチュートリアルブックのセクション。

users/_microposts.html.erb

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

次に、両方のビューで使用できます。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top