【问题标题】:Rails: Making User's Micropost show on another modelRails:在另一个模型上显示用户的 Micropost
【发布时间】:2012-02-16 06:12:11
【问题描述】:

我有一个可以发布微博的用户模型,它显示在用户显示页面上,但我想知道如何将用户制作的微博显示到用户所属的模型上,例如在这种情况下学校。用户属于特定学校,学校下有很多用户。非常感谢所有帮助!

用户展示页面

<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

【问题讨论】:

  • 你需要看看partials
  • @Bradley 谢谢布拉德利,你最近帮我解决了很多问题哈哈,嗯,你觉得你可以帮我多做点吗?

标签: ruby-on-rails ruby ruby-on-rails-3 microblogging


【解决方案1】:

如果您还在苦苦挣扎,请在继续阅读之前回顾一下 Rails 教程书的partials 部分。

users/_microposts.html.erb

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

然后在两个视图中你都可以使用:

&lt;%= render 'users/microposts', :microposts =&gt; @microposts %&gt;

【讨论】:

  • 渲染部分帮助感谢 Bradley 但这是真正改变它的地方,我更新了代码!
猜你喜欢
  • 2022-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多