【发布时间】:2015-11-05 10:40:00
【问题描述】:
我在 Rails 应用程序中有路线:
resources :products do
get 'preview', to: 'products#preview', on: :member
#member do
# get 'preview'
#end
end
它定义了路由'/products/:id/preview'。
Products.id 在数据库中是 bigint。
当我打开 URL '/products/15/preview' 时,它工作正常。 但是当我用大 id = 67500 打开它时,它大于整数 = 65535 的最大值:
http://localhost:3000/products/67500/preview
它显示 404 错误。这里 id = 67500 大于 Integer (65535) 并且路由不起作用。
如何让 Rails 识别 BIGINT 类型的 id ?
【问题讨论】:
-
请发布您的控制器代码
-
您应该通过此更改产品
create_table :products, :id => false do |t| t.integer :id, :limit => 8 end的id列 -
控制器:def preview id = params[:id] @row = Product.find(id) end
标签: ruby-on-rails routes