ruby-on-rails - 在特定页面中显示用户的帖子 - Rails

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

我正在编写一个 Rails 应用程序,我想在单独的页面(例如 /users/20/posts )中显示用户的帖子。 我将这两个代码添加到 routs.rb 中:

resources  :users do
 resources :posts, only: [:index]
end

get 'users/:id/posts' => 'users#posts', :as => :user_posts

但是像 /users/20/posts 这样的 url 会显示所有帖子,而不仅仅是该特定用户的帖子。 (其行为与 /posts 相同)

我的模型和 Controller 中有这些(如果需要):

用户.rb:

has_many :posts, dependent: :destroy

post.rb:

belongs_to :user

users_controller.rb:

def posts
 @user = User.find(params[:id])
 @posts = @user.posts
end

最佳答案

仅使用浏览器 URL 进行测试。它应该可以工作。

routes.rb

resources  :users do
 resources :posts, only: [:index]
end

get 'users/:id/user_posts' => 'users#user_posts', :as => :custom_user_posts

users_controller.rb

def user_posts
 @user = User.find(params[:user_id])
 @posts = @user.posts

 #render plain: {posts: @posts.inspect, user: @user.inspect} 
end

现在在 view/users/user_posts.html.erb 中添加一个新文件

在页面中:

<% @posts.each do |p|%>
   loop right here your data
<% end %>

关于ruby-on-rails - 在特定页面中显示用户的帖子 - Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36396340/

相关文章:

ruby-on-rails - 有没有办法使用 Activerecord 连接两个字段?不使用虚拟属性

ruby-on-rails - 如果在Ruby on Rails中如何使用&&?

ruby-on-rails - 使用 ruby​​ on rails 从图像列表创建视频

ruby-on-rails - has_many :through broke some code

ruby - ‘bundle’ 没有这样的文件或目录

javascript - jQuery 在多个嵌套字段上仅适用于第一个字段

ruby-on-rails - Rails 资源文件夹路径有哪些不同用途?

ruby-on-rails - 如何查看对 ActiveResource 请求的 HTTP 响应?

javascript - Rails : Tawk. 到聊天插件和 Turbolinks 问题

Ruby 登录以使用 Mechanize 进行 Spotify