Rails:一对多参数

时间:2016-10-04 05:31:57

标签: ruby-on-rails one-to-many params

我正在为我的体育团队制作一个网站,玩家可以在这里制作博客文章。

class Player < ApplicationRecord

  has_many :blogs, dependent: :destroy

end


class Blog < ApplicationRecord

  belongs_to :player

end

我的问题是:

使用以下两个参数设置路径/控制器操作有什么区别?他们都给了我完全相同的东西。

1)

路线:

get "players/:player_id/posts" => "blogs#show", as: "player_posts"

控制器动作:

class BlogsController < ApplicationController
    def show
        @player = Player.find(params[:player_id])
        @blogs = @player.blogs
    end
end

2)

路线:

get "players/:id/posts" => "blogs#show", as: "player_posts"

控制器动作:

class BlogsController < ApplicationController
    def show
        @player = Player.find(params[:id])
        @blogs = @player.blogs
    end
end

1 个答案:

答案 0 :(得分:1)

  

设置路由/控制器操作有什么区别   以下两个参数?

除了您使用 不同的密钥 ({{ 1}}&amp; :player_id)。我建议您在 博客控制器 中获取 播放器实例 后的第一条路线。

:id