sql >> Databáze >  >> RDS >> PostgreSQL

Vyhněte se chybě PG::InvalidTextRepresentation při používání Postgres UUID v Rails

Omezení směrování můžete přidat k více trasám najednou pomocí constraints() do ... end .

Nakonec jsem to udělal a nastavil globální omezení pro všechny :id params, aby to odpovídalo regulárnímu výrazu UUID:

MyApp::Application.routes.draw do
  constraints(id: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i) do

    # my routes here

  end
end

Tímto způsobem se /posts/123 nebo /posts/foobar již neshodují s /posts/:id a 404 před vyvoláním akce ovladače, čímž se zabrání chybě typu PG.

Všechny moje modely budou používat UUID pro svá ID, takže je to čisté a SUCHÉ. Kdybych měl nějaké modely také s celočíselnými ID, bylo by to o něco méně čisté.



  1. Jak exportovat data z SQL Server 2005 do MySQL

  2. Jaký je nejlepší způsob ukládání trendových dat?

  3. Jak vybrat název sloupce s mezerou v MySQL

  4. mysql to excel problémy s formátováním