在Rails 3.2.2,我想設置的自定義網址(使用狀態2位:由縮寫,而不是默認的:ID)Rails的to_param定製的路線不工作
讀谷歌搜索結果和計算器的頁面,我已經想出了這一點:
路線
match 'cars/:abbr' => 'states#show', :as => 'state_abbr'
型號
def to_param
abbr
end
控制研究呃
@state = State.find_by_abbr(params[:id])
狀態#顯示頁面拋出錯誤(未定義的方法`全名」的零:NilClass),因爲路由似乎並沒有被找到簡稱模型。
運行耙路線,我得到:
root/ states#index
state_abbr /cars/:abbr(.:format) states#show
感謝您的幫助
你確定錯誤不是由於'find_by_abbr(params [:id])''?檢查一下哪些參數正在拋出 - 使用這些路徑你應該看到':abbr'(或許':state_abbr')而不是':id'。 –