sql >> Databáze >  >> RDS >> Mysql

Proč toto :id v Rails nefunguje s Postgresql, ale funguje s MySQL?

Rails automaticky zavolá to_i na vašem parametru pro některé metody, hlavně ty, kde se jako parametr očekává celé číslo, jako Listing.find(params[:id]) .

U jiných typů vyhledávacích metod, které mohou přijímat řetězce jako parametry, však budete muset ručně zavolat to_i

Listing.find_by_id(params[:id].to_i)
Listing.find(:conditions => ["id = ?", params[:id].to_i])

Důvod, proč nemáte problém s MySQL, je ten, že MySQL dělá to, co by ve skutečnosti bylo to_i na jeho konci (tj. nejde o problém databázového adaptéru, ale spíše o schopnost skutečného databázového serveru).




  1. Přebudování MySQL 8.0 Replication Slave pomocí klonovacího pluginu

  2. Jak se připojit k databázi MySQL přes ODBC z aplikace Qt?

  3. SQL Network Interfaces, chyba:50 - Došlo k chybě za běhu místní databáze. Nelze vytvořit automatickou instanci

  4. Jak zobrazit řazení vašeho připojení v MySQL