Sono nuovo di Ruby e di recente ho riscontrato un problema rispetto ai valori durante la creazione di un'applicazione Ruby on Rails. In un controller ho avuto la seguente dichiarazione che ha sempre restituito falso:Sintassi Verifica o "Compilazione" di un'applicazione Ruby on Rails
if (user.id != params[:id])
Il problema era l'user.id (che è un Active Record) è un numero intero e params [: id] è una stringa. Mi ci è voluto un po 'per capirlo e finalmente l'ho cambiato:
if (user.id != params[:id].to_i)
Ora la dichiarazione funziona come previsto.
Per evitare questo errore in futuro c'è un modo per "compilare" o ottenere Ruby per avvisare se si tenta di confrontare 2 diversi tipi? Alcuni altri problemi che ho riscontrato sono:
- Avvisami se creo una variabile ma non la uso. Per aiutare a verificare errori di battitura nei nomi delle variabili.
- Assicurarsi che esista un metodo in una classe in modo da evitare errori di digitazione del metodo e anche per aiutare il refactoring, ad esempio se rinominare un metodo.
Attualmente sto usando Ruby 1.8.6-27 RC2 con Rails 2.3.2 e RadRails IDE su Windows.
Nessuna risposta per testare il codice. Ho avuto un test unitario per il suddetto frammento di codice e ha continuato a fallire (insieme ai miei test manuali) e non riuscivo a capire perché. Quello che sto cercando è un correttore di sintassi per Ruby che trovi errori simili che il compilatore standard avrebbe trovato. Grazie. –
Un compilatore C non ti darà un errore per fare 4 == 5.5. – Chuck
Dai un'occhiata a jetbrain ruby ide, https://www.jetbrains.com/ruby/ –