1

レールのルーティングに問題があります。

エラーは次のとおりです。

No route matches {:controller=>"orders", :action=>"sell_item"}

ルート ルールは次のようになります。

match 'orders/sell/:id' => 'orders#sell_item', as: 'sell_item'

ビューファイルでのリンク生成:

<%= link_to 'sell', sell_item_url, id: line_item.id %>

OrdersController の関数

def sell_item(line_item_id)
  line_item = LineItem.find(line_item_id)
  line_item.status = 1
  line_item.save
end

ルートから「/:id」を削除し、link_to から「,id: line_item.id」を削除しても、ルートが生成されます。

4

1 に答える 1

1

それ以外の

<%= link_to 'sell', sell_item_url, id: line_item.id %>

試す

<%= link_to 'sell', sell_item_url(line_item) %>

Rails は、オブジェクトに基づいてルートを構築する必要があります。

ここを参照してください:

http://guides.rubyonrails.org/routing.html#creating-paths-and-urls-from-objects

于 2012-05-20T14:02:13.060 に答える