如何在rails 4中通过两个不同的操作使用一个布局

时间:2016-06-09 04:26:58

标签: ruby-on-rails ruby-on-rails-4

我正在构建一个用户可以创建帖子的微博轨道应用程序,我创建了一条路线和一个动作来显示属于登录用户的帖子,发生帖子的一般索引布局完全相同作为" myposts"布局所以我不想复制代码而是只使用一个具有不同参数的布局。 这就是我现在所拥有的:

的routes.rb

resources :posts 
get '/myposts', to: 'posts#my_posts', as: 'myposts'

posts_controller.rb

def index
  @posts = Post.all
end

def my_posts
  @myposts= Post.where(user_id: current_user.id)
end

index.html.erb

<% @posts.each do |post| %>
  <div>
    <h1><%= link_to post.title, post %></h1>
    <%= link_to image_tag(post.meme_url(:thumb)), post, :target => "_blank"  %>
  </div>
<% end %>

my_posts.html.erb

<% @myposts.each do |post| %>
  <div>
    <h1><%= link_to post.title, post %></h1>
    <%= link_to image_tag(post.meme_url(:thumb)), post, :target => "_blank"  %>
  </div>
<% end %>

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以使用&#39;渲染&#39; on&#39; my_posts&#39;行动 - http://guides.rubyonrails.org/layouts_and_rendering.html#using-render

添加之前&#39;结束&#39;在my_posts动作中: render :index