On Thu, Sep 1, 2011 at 6:42 PM, Leo M. <li...@ruby-forum.com> wrote: > All right, I just need the last step to go. > > I've done everything correctly, so the index show a briefing of the > post, and all the tags, which are correctly linked to a proper url, > specifically : > let's put I click on the tag "aqua" , the specified url shall be > > http://0.0.0.0:3000/posts/tag/aqua > > that's just fantastic! > I've added a > > def tag > @post = Post.tagged_with(params[:name]) > respond_to do |format| > format.html # show.html.erb > format.xml { render :xml => @post } > end > end > > in PostsController. > Everything works fine, but when I put the same view/show.html.erb code > to view/tag.html.erb , it tells me that: > > the url is correct > http://0.0.0.0:3000/posts/tag/aqua > > and the error is: > > undefined method `title' for #<ActiveRecord::Relation:0x1041fd4c0> > > This happens because it tries to fetch all the posts with ID => "aqua" , > which don't exist. > I'm puzzled because I specified in the controller that : > @post = Post.tagged_with(params[:name]) > > Post.tagged_with(params[:name]) returns an ActiveRecord::Relation object not a Post object. You need to iterate through all the posts tagged with params[:name] so do the following
in the controller method, use @posts = Post.tagged_with(params[:name]) #note that it's plural and in tag.html.erb, instead of using @post, use @posts but iterate through each post <% @posts.each do |post| %> <%= post.title %> <% end %> > but Rails insists in fetching the id as parameter. > > Any idea? > Thanks guys! > > -- > Posted via http://www.ruby-forum.com/. > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > To post to this group, send email to rubyonrails-talk@googlegroups.com. > To unsubscribe from this group, send email to > rubyonrails-talk+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > > -- ------------------------------------------------------------- visit my blog at http://jimlabs.heroku.com -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.