2012-09-18 34 views
0

我已經創建了我重寫主鍵的模型:Rails的使用to_param時期路由添加 - 多元化錯誤

set_primary_key :SONumber

我還使用to_param

def to_param 
    self.SONumber 
end 

我的路線爲這個模型如下:

resources :sales_orders 

在視圖時鏈接到顯示的個人紀錄:

=link_to 'Open', sales_orders_path(so) 

它產生在他們時期,而不是斜線即:

.../sales_orders.1234 instead of .../sales_orders/1234 

的我錯過這裏的鏈接?我做錯什麼了嗎?

編輯: 從我的路線:

sales_order GET /sales_orders/:id(.:format)  sales_orders#show 

編輯2: 閱讀本link,我只能假設我有一個多元化的錯誤,但是,如果我切換視圖:

=link_to 'Open', sales_order_path(so) 

我得不到路線匹配...我寧可不手動定義路線,如果有更好的方法

+0

我會嘗試使用小寫字母作爲primary_key屬性,因爲這與大寫字母開始被認爲是紅寶石常量字符串,這可能會導致一些衝突存在。 –

回答

1

試試這個:

= link_to 'Open', sale_order_path(so) # sale instead of sales 

sales_order_path(so)生成用於與so.SONumber作爲格式索引作用的路徑。

看看這個Rails的指南:http://guides.rubyonrails.org/routing.html#paths-and-urls

+0

sales_orders_path在重新啓動服務器後生成索引路徑,= link_to'Open',sales_order_path(so)最終運行! –