Yep. All fixed now.
I checked for the columns like you asked. And I found out that the
typo/pluralization in the Taggings.rb file named the column wrong
ie:

belongs_to :posts

made the column name posts_id as opposed to post_id


after fixing the typo, I rolled back the migration, and ran the migration
again to change the name of the table.
AND NOW IT WORKS!
Thank you so much everyone! I really appreciate all the help!


On Tue, Feb 18, 2014 at 1:25 AM, Colin Law <clan...@gmail.com> wrote:

> On 17 February 2014 12:13, Nadia Vu <winter....@gmail.com> wrote:
> > Hi, thank you for that.
> > I have made that change. From
> >
> > belongs_to :tag
> > belongs_to :posts
> >
> > to
> >
> > belongs_to :tag
> > belongs_to :post
> >
> >
> >
> > However. I am still getting the same error.
> > Looking at many similar open stackoverflow answers and questions I
> honestly
> > thought the pluralization was going to fit it. But unfortunately it still
> > hasn't.
>
> Are you still getting the error saying that there is no column post_id
> in the table taggings?  I askied this in my first reply and you did
> not answer.  If it is still saying that have you checked that there is
> such a column?
>
> Colin
>
> >
> >
> >
> >
> > On Mon, Feb 17, 2014 at 8:47 PM, Sridhar Vedula <
> sridhar.sidh...@gmail.com>
> > wrote:
> >>
> >> It is belongs_to :post   ----------- not posts
> >>
> >>
> >> On Thursday, 13 February 2014 12:27:48 UTC+5:30, Nadia Vu wrote:
> >>>
> >>> Hi there, I'm very new to RoR please be kind.
> >>>
> >>> I wasn't sure where to go but I was hoping I could find help here after
> >>> days of hair pulling. Stackoverflow was not successful.
> >>>
> >>> I have followed the Official Beginners Guide to ROR and made a blog.
> >>>
> >>> I wanted to take it further and add a tagging system to the blog. Im
> >>> getting errors and I don't have enough knowledge of ruby to determine
> what
> >>> is causing them. Any thoughts/help would be really appreciated.
> >>>
> >>> So this is the error
> >>>
> >>> ActiveRecord::StatementInvalid in Posts#show
> >>>
> >>> Showing /home/nadia/blog/app/views/posts/show.html.erb where line #8
> >>> raised:
> >>>
> >>> SQLite3::SQLException: no such column: taggings.post_id: SELECT
> "tags".*
> >>> FROM "tags" INNER JOIN "taggings" ON "tags"."id" = "taggings"."tag_id"
> WHERE
> >>> "taggings"."post_id" = ?
> >>>
> >>> Extracted source (around line #8):
> >>>
> >>>
> >>>
> >>>  6<p>
> >>>  7Tags:
> >>>  8<% @post.tags.each do |tag| %>
> >>>  9<%= link_to tag.name, tag_path(tag) %>
> >>> 10<% end %>
> >>> 11</p>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> And this a small chunk of the
> >>>
> >>> post_controller:
> >>>
> >>> def new
> >>>  27       @post = Post.new
> >>>  28    end
> >>>  29    def create
> >>>  30       @post = Post.new(post_params)
> >>>  31
> >>>  32         if @post.save
> >>>  33             redirect_to action: :show, id: @post.id
> >>>  34          else
> >>>  35             render 'new'
> >>>  36          end
> >>>  37    end
> >>>  38
> >>>  39    def destroy
> >>>  40        @post = Post.find(params[:id])
> >>>  41        @post.destroy
> >>>  42
> >>>  43     redirect_to action: :index
> >>>  44     end
> >>>
> >>> This is my tag_controller
> >>>
> >>>   1 class TagsController < ApplicationController
> >>>   2
> >>>   3     def show
> >>>   4       @tag = Tag.find(params[:id])
> >>>   5 end
> >>> ~
> >>>
> >>> my tag.rb
> >>>
> >>>   1 class Tag < ActiveRecord::Base
> >>>   2   has_many :taggings
> >>>   3   has_many :posts, through: :taggings
> >>>   4
> >>>   5 end
> >>>
> >>> post.rb
> >>>
> >>>   1 class Post < ActiveRecord::Base
> >>>   2
> >>>   3     has_many :comments, dependent: :destroy
> >>>   4     has_many :taggings
> >>>   5     has_many :tags, through: :taggings
> >>>   6     validates :title,
> >>>   7             presence: true,
> >>>   8                length: { minimum: 5 }
> >>>   9
> >>>  10   def tag_list
> >>>  11    self.tags.collect do |tag|
> >>>  12       tag.name
> >>>  13   end.join(", ")
> >>>  14   end
> >>>  15   def tag_list=(tags_string)
> >>>  16     tag_names = tags_string.split(",").collect{|s|
> >>> s.strip.downcase}.uniq
> >>>  17     new_or_found_tags = tag_names.collect { |name|
> >>> Tag.find_or_create_by(name: name) }
> >>>  18     self.tags = new_or_found_tags
> >>>  19   end
> >>>  20 end
> >>> ~
> >>>
> >>> and my posts_helper
> >>>
> >>>   1 module PostsHelper
> >>>   2   def post_params
> >>>   3     params.require(:post).permit(:title, :body, :tag_list)
> >>>   4   end
> >>>   5 end
> >>>
> >>> Please let me know if I can add any more code that you would need to
> see
> >>>
> >>> Please please help. I really need to get out of this little rut. And
> any
> >>> comments would be appreciated.
> >>>
> >>>
> >>
> >> --
> >> You received this message because you are subscribed to a topic in the
> >> Google Groups "Ruby on Rails: Talk" group.
> >> To unsubscribe from this topic, visit
> >>
> https://groups.google.com/d/topic/rubyonrails-talk/GQwj6Mrx2CE/unsubscribe
> .
> >> To unsubscribe from this group and all its topics, send an email to
> >> rubyonrails-talk+unsubscr...@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/ab6b8df7-5eed-423a-aab1-42468426e532%40googlegroups.com
> .
> >>
> >> For more options, visit https://groups.google.com/groups/opt_out.
> >
> >
> > --
> > 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+unsubscr...@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/CAOWWFs0ZRabxQYrNJYMS8Gmh8D%3Dwt4HXV5MhSZkkoruCESdmKQ%40mail.gmail.com
> .
> >
> > For more options, visit https://groups.google.com/groups/opt_out.
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Ruby on Rails: Talk" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/rubyonrails-talk/GQwj6Mrx2CE/unsubscribe
> .
> To unsubscribe from this group and all its topics, send an email to
> rubyonrails-talk+unsubscr...@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%3D0gLs75DrAopUKSa%2BvP1GBvCz3gJwyLFLL52fJ6LXOAf6gxA%40mail.gmail.com
> .
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
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+unsubscr...@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/CAOWWFs19NzaZoZ8f9x2JimOTP2xunEdcUpNVFxnAqKe6_nEGQQ%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to