Ruby on Rails
Monday, February 17, 2014
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 <clanlaw@gmail.com> wrote:
On 17 February 2014 12:13, Nadia Vu <winter.nga@gmail.com> wrote:Are you still getting the error saying that there is no column post_id
> 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.
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
> You received this message because you are subscribed to the Google Groups
>
>
>
>
> On Mon, Feb 17, 2014 at 8:47 PM, Sridhar Vedula <sridhar.sidhu61@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+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/ab6b8df7-5eed-423a-aab1-42468426e532%40googlegroups.com.
>>
>> For more options, visit https://groups.google.com/groups/opt_out.
>
>
> --
> "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.> https://groups.google.com/d/msgid/rubyonrails-talk/CAOWWFs0ZRabxQYrNJYMS8Gmh8D%3Dwt4HXV5MhSZkkoruCESdmKQ%40mail.gmail.com.
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> To view this discussion on the web visit
--To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAL%3D0gLs75DrAopUKSa%2BvP1GBvCz3gJwyLFLL52fJ6LXOAf6gxA%40mail.gmail.com.
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+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.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+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/CAOWWFs19NzaZoZ8f9x2JimOTP2xunEdcUpNVFxnAqKe6_nEGQQ%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment