0

主キーをオーバーライドするモデルを作成しました。

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_to 'Open', sales_order_path(so)

ルートが一致しません...もっと良い方法がある場合は、手動でルートを定義したくありません

4

1 に答える 1

1

代わりにこれを試してください:

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

sales_order_path(so)so.SONumberas形式でインデックスアクションのパスを生成します。

このRailsガイドをご覧ください:http://guides.rubyonrails.org/routing.html#paths-and-urls

于 2012-09-18T21:53:46.533 に答える