Je publierai ce que j'ai écrit lorsque j'étais mentor pour TECH :: CAMP dans le passé. J'ai essayé de le diviser en petits morceaux, mais je vais résumer les petits. Ma mémoire est ambiguë, il peut donc y avoir des erreurs ...
movie = {"title" => "Harry Potter", "genre" => "Fantaisie", "année" => "2001"} Écrivez le code qui prend la chaîne que vous souhaitez obtenir. Je pense que c'était un problème comme celui-ci.
def movie_info(movie, data)
puts movie[data]
end
movie = {"title" => "Harry Potter", "genre" => "Fantaisie", "year" => "2001"}
puts "Veuillez en sélectionner un parmi les suivants et le saisir.
· Titre
· Genre
· Année"
info = gets.chomp
movie_info(movie, info)
ici
puts movie[:data]
Si vous le faites, cela ne fonctionnera pas.
La raison en est que le type est différent.
info = gets.chomp
Puisque nous recevons la clé sous forme de "chaîne de caractères" ici
La définition de hachage utilise également la chaîne "title", il n'y a donc pas de problème ici.
puts movie[:data]
D'un autre côté, si vous écrivez comme ceci, il sera affiché sous forme de type de symbole.
Rien n'est produit car le type est différent.
En passant, vous pouvez utiliser .class pour vérifier le type.
ex) info.class
Si vous souhaitez utiliser le type de symbole
movie = {title: =>" Harry Potter "}
Changer la définition de hash comme
info = gets.chomp.to_sym
Si vous le réécrivez comme ceci, cela fonctionnera.
puts movie[data.to_sym]
Mais c'est d'accord. (Converti en type de symbole)
Q.devise, no method error Lorsqu'une erreur sans méthode se produit, liée à l'appareil. Par exemple, il n'y a pas de current_sign_in_at.
Vérifiez le fichier de migration correspondant créé par devise
Supprimer le commentaire autour de la partie concernée
Recréez la base de données
$ rake db:migrate:reset
Vous pouvez tout faire en même temps avec cette commande.
Cette commande supprime la base de données une fois, Il s'agit d'une commande permettant de recréer la base de données sur la base du fichier de migration existant. Bien entendu, les données stockées dans la base de données seront supprimées. Si vous avez diverses données et que vous souhaitez les conserver, je pense que vous devez les exporter au format CSV et les enregistrer quelque part.
Si vous avez migré juste avant, vous pouvez revenir en arrière.
$ rake db:migrate:status
Vous pouvez vérifier avec quels fichiers sont actuellement migrés.
db: reset
. Recréez-le simplement à partir du fichier de schéma.Lorsque j'ai installé l'appareil, j'ai laissé les éléments commentés par défaut. La méthode que vous souhaitez utiliser n'a pas été générée. Il devrait être résolu en refaisant à nouveau la migration.
Il n'y a pas de problème dans l'environnement de développement, mais cela ne change que dans l'environnement de production. Je ne pense pas que beaucoup de gens s'en soucient, mais c'est le paramètre par défaut de clearDB. heroku semble utiliser cleardb comme serveur de base de données.
【référence】 http://w2.cleardb.net/faqs/#general_16 When I use auto_increment keys (or sequences) in my database, they increment by 10 with varying offsets. Why? ClearDB uses circular replication to provide master-master MySQL support. As such, certain things such as auto_increment keys (or sequences) must be configured in order for one master not to use the same key as the other, in all cases. We do this by configuring MySQL to skip certain keys, and by enforcing MySQL to use a specific offset for each key used. The reason why we use a value of 10 instead of 2 is for future development.
Recommended Posts