Rob*_*Rob 3 ruby-on-rails params ruby-on-rails-4
我希望 url 结构是 'actors/joe-blogs' 而不是 'actors/1',但是由于 id 不在 url 中,我无法通过名称查找参数而不是通过 id 查找。
我有以下路线
get 'actors/:name' => 'actors#show'
演员表
| id |   name    |
------------------
| 1  | Joe Blogs |
url /actors/joe-blogs 工作正常,但按名称而不是 id 查找参数不起作用。
演员控制器:
    def show
       @actor = Actor.find(params[:name])
    end
按 params 名称查找会{"name"=>"joe-blogs"}  寻找演员,而不是寻找演员{"name"=>"Joe Blogs"}
我怎样才能让参数工作以便它抓住{"name"=>"Joe Blogs"}?名称之间没有“-”?
你应该使用find_by而不是find.
def show
  @actor = Actor.find_by(name: params[:name])
end