我試圖建立蛞蝓有這樣的網址: /artists/1/pink-floyd
航線形式型號/ ID /名稱
我to_param方法是:
def to_param
"#{self.id}/#{self.name.parameterize}"
end
不幸的是網址是/artists/1%2Fpink-floyd
我怎樣才能按照我想要的方式做這項工作?
我試圖建立蛞蝓有這樣的網址: /artists/1/pink-floyd
航線形式型號/ ID /名稱
我to_param方法是:
def to_param
"#{self.id}/#{self.name.parameterize}"
end
不幸的是網址是/artists/1%2Fpink-floyd
我怎樣才能按照我想要的方式做這項工作?
您可以通過多種方式來做到這一點。
,我認爲這將是最接近你想要達到的目標是一樣的東西:
def to_param
"#{self.id}-#{self.name.parameterize}"
end
這使得:
/artists/1-pink-floyd
另一種方法是改變路線:
get "/artists/:id/:parameterized_name" => "artists#show", as: :artist
這會給你的控制器動作參數:parameterized_name
。
要在視圖中使用它:
artist_path(artist, parameterized_name: artist.name.parameterize)
如果我在路線中使用資源會怎麼樣? –
這並不工作,因爲它試圖使其網址安全的另一個'/'將表明不同的目錄。 – DickieBoy