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”并从链接到中删除“,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 回答