Rails Rails 路由问题请教

HM · 2023年05月06日 · 最后由 kuyenda 回复于 2023年05月09日 · 365 次阅读

这里是一段 rails app 的日志:

Started GET "/programs.afasdfasdf" for ::1 at 2023-05-06 14:02:28 +0800
Processing by ProgramsController#index as */*

routes.rb

resources :programs, only: [:index],  do
end

问题: 怎样让 Rails 不忽略“.afasdfasdf”部分,直接报路由错误,Rails 里有可以配置的地方么

可以试试 constraints 选项,例如

resources :programs, only: [:index], constraints: lambda { |req| req.format == :html }  do
end

这是什么奇葩格式。生成链接、表单视图的时候把需要的自定义字段设置成 查询字符串或者放在表单里再用 params 获取

需要 登录 后方可回复, 如果你还没有账号请 注册新账号