我使用scaffold构建了一个名为“assets”的表。文件已创建。 “rake db:create”运行良好。我在routes.rb文件中添加了“resources:assets”。我现在得到路线错误。我跑了“耙路”,没有出现“资产”的路线。
使用表名“资产”是不是很糟糕? 或者是其他错误?
答案 0 :(得分:3)
资产管道默认使用/ assets。
您可以在application.rb
:
config.assets.prefix = '/something-else'
或者使用以下命令更改资源资源的路由:
resources :assets, :path => 'something-else'
编辑:实际上第二个选项可能是更好的选择,因为我忘了默认情况下asset_path
可用并且属于资产管道。如果您更改了默认资源前缀并使用asset_path @asset
希望生成指向assets#show
的链接,则可能会导致问题。
使用路由中的:as
选项更改其生成的路径/网址方法。
resources :assets, :path => 'things', :as => 'things'
things_path
导致/ things和路由到资产控制器的索引操作
thing_path @asset
会导致/ things /:id和路由到资产控制器的show动作
等