QA@IT
«回答へ戻る

回答を投稿

対象となるモデルに

def to_param
  "#{id}-#{name}"
end

みたいなのを実装しておけば、URLは

http://0.0.0.0:3000/users/1-allen

となりますが、コントローラーで

@product = Product.find(params[:id])

もそのまま使えるはずです。

def to_param
  "#{name}"
end

とすると、

http://0.0.0.0:3000/users/allen

となってわかりやすいですが、コントローラーでは

@product = Product.find_by_name(params[:id])

みたいにする必要があり、nameをユニークにする必要があったりして、面倒ではあります。

対象となるモデルに

``` ruby
def to_param
  "#{id}-#{name}"
end
```

みたいなのを実装しておけば、URLは

    http://0.0.0.0:3000/users/1-allen

となりますが、コントローラーで

``` ruby
@product = Product.find(params[:id])
```

もそのまま使えるはずです。

``` ruby
def to_param
  "#{name}"
end
```

とすると、

    http://0.0.0.0:3000/users/allen

となってわかりやすいですが、コントローラーでは

``` ruby
@product = Product.find_by_name(params[:id])
```

みたいにする必要があり、nameをユニークにする必要があったりして、面倒ではあります。