I will publish what I wrote down when I was a mentor for TECH :: CAMP in the past. I tried to divide it into small pieces, but I will summarize the small ones. My memory is ambiguous, so there may be some mistakes ...
movie = {"title" => "Harry Potter", "genre" => "fantasy", "year" => "2001"} Write the code that takes the string you want to get from. I think it was a problem like this.
def movie_info(movie, data)
puts movie[data]
end
movie = {"title" => "Harry potter", "genre" => "Fantasy", "year" => "2001"}
puts "Please select one from the following and enter it.
・ Title
・ Genre
・ Year"
info = gets.chomp
movie_info(movie, info)
here
puts movie[:data]
If you do, it will not work.
The reason is that the type is different.
info = gets.chomp
Since we are receiving the key as a "string" here
The hash definition also uses the string "title", so there is no problem here.
puts movie[:data]
On the other hand, if you write it like this, it will be output as a symbol type,
Nothing is output because the type is different.
By the way, you can check the type by using .class.
ex) info.class
If you want to use symbol type
movie = {title: =>" Harry Potter "}
Change the hash definition like
info = gets.chomp.to_sym
If you rewrite it like this, it will work.
puts movie[data.to_sym]
But it's okay. (Converted to symbol type)
Q.devise, no method error When no method error occurs related to devise. For example, there is no current_sign_in_at.
Check the corresponding migration file created by devise
Remove the comment out around the relevant part
Recreate the database
$ rake db:migrate:reset
You can do it all at once with this command.
This command drops the database once, It is a command to recreate the database based on the existing migrate file. Of course, the data in the database will be erased. If you want to keep various data, I think you should output the data in CSV and save it somewhere.
If you migrated just before, you may roll back.
$ rake db:migrate:status
You can check which files are currently migrated with.
db: reset
. Just recreate it from the schema file.When I installed the device, I left the items commented out by default. The method you want to use was not generated. It should be solved by redoing the migration again.
There is no problem in the development environment, but it changes only in the production environment. I don't think many people care about it, but this is the default setting for clearDB. It seems that heroku uses cleardb as the db server.
【reference】 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