Hi all,
I have been learning Rails by working through Carneiro and Barazi's *Beginning Rails 3*. This has went well despite the fact that I am using Rails 4.2.6. I hit a little snag when in chapter 5, which goes over associations, I tried to create a has_many association between a user and that user's articles, specifically in the code that is supposed to sort the user's articles first by order of creation, and then by alphabetical order. I fixed this problem, with a little help from the Ruby Talk mailing list, with a lambda scope block, as follows in app/models/user.rb:
class User < ActiveRecord::Base
has_one :profile
has_many :articles, -> { order 'published_at DESC, title ASC' } :dependent => :nullify
end
This seemed to work, so I went through the steps listed again, taking a stab that I could overwrite everything rather than just starting over. When I ran rake db:migrate, I got the following error:
== 20161114230702 CreateArticlesCategories: migrating =========================
-- create_table(:articles_categories, {:id=>false})
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: table "articles_categories" already exists: CREATE TABLE
"articles_categories" ("article_id" integer, "category_id" integer)
/home/john/src/ror/blog/db/migrate/20161114230702_create_ articles_categories.rb:3:in `change'
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAL%3D0gLtUd6iHp6SDx_MstFrXSxnbhWZmSufrN_ajhcWvzXkj2w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment