0

对于我的应用程序,我的用户可以创建团队页面,然后创建显示在团队页面上的团队成员。现在,我在我的团队页面上呈现团队成员很好,没有任何问题。

我的问题是如何以不同的布局呈现团队成员?我应该使用不同的 team_member 数据布局创建一个名为 team_members/_team_memberv2.html.erb 的文件吗?如果是这样,我如何调用渲染并设置控制器?谢谢!

当前设置:

团队控制器.rb

def show
    @team_members = @project.team_members.page(params[:page]).per_page(10)
end

_teaminfo.html.erb

<!-- Show Team -->
<% if @team.team_members.blank? %>     
  <p>No team members have been added to this project.</p>        
<% else %>        
  <%= render @team_members %>
<% end %>

team_members/_team_member.html.erb

<div class="media">
  <a class="pull-left">
    <img class="media-object" data-src= <%= image_tag team_member.teamuserimage_url(:thumb).to_s %>
  </a>
  <div class="media-body">
    <h4 class="media-heading"><%= team_member.membername %></h4>
    <%= team_member.content %>
  </div>
</div>
4

2 回答 2

0

你可以利用部分。

就像

<%= render "team_member" %>

然后在部分中像平常一样做你的输出。

我不确定您是否必须传递 @team_member 的局部变量。

如果是这样:

<%= render partial: "team_member", locals: { team_member: @team_member } %>

并获取您的数据

<% @team_member = local_assigns[:team_member] %>
于 2013-04-30T02:45:16.020 回答
0

要以不同的布局呈现,我会将“<%= render @team_members %>”替换为以下内容:

<% @team_members.each do |team_member| %>
    <%= team_member.membername %>
<% end %>

从这里,我可以相应地设置它的样式。

于 2013-05-26T06:54:30.750 回答