Colin, Before I debug.... I have had an idea:
What about the view? If I can write a decent if statement to only return active_posts that = 1 I should be good to go. I did try this today, but it still showed the inactive post when I set it to 0.. Here's what I wrote - There's maybe a better (correct way) to do it... <% if @posts.active_post = 1 %> <% render :partial => posts %> <% end %> <% if @posts.active_post != 1 %> There are no posts! <% end %> Sadly this didn’t work, but I wondered if anyone knew why? I can delete a post, setting the 1 value to a 0, but the post still remains in the view… Hmm. On 8 Dec, 21:29, Colin Law <[email protected]> wrote: > 2009/12/8 RubyonRails_newbie <[email protected]>: > > It is best not to top post, it is easier to follow the thread if > things are kept in order, I have reordered. > > > > > > > > > On 8 Dec, 21:08, Colin Law <[email protected]> wrote: > >> 2009/12/8 RubyonRails_newbie <[email protected]>: > > ... > >> > I looked on the rails api site, I was therefore kinda hoping that : > > >> > Post.find_by_user_id( session[:user_id], 1, :limit => > >> > 1, :conditions => "active_post = 1", :order => "created_at desc") > >> > would only return posts where the active flag is set to 1. > > >> I would kinda hope that would happen too. What did happen? > > >> Is active_post an integer type column or a string? If it is a string > >> then "active_post = '1'" might be better as integer 1 is not the same > >> as string '1' > > active_post is set as 'tinyint'. > > > What is currently happening is that I hit 'delete'.... > > What I meant was what does the the query > Post.find_by_user_id( session[:user_id], 1, :limit => 1, :conditions > => "active_post = 1", :order => "created_at desc") > return? > > If this returns a post with active_post not 1 then there is something > strange going on. Run it in a console window and see what it returns. > Also if you have not done so already work through the rails guide on > debugging. This will show you how using ruby-debug you can break in > (after that find for example) and see what it has returned. > > I have just looked at your code again and realised that I was looking > at the line before your call to fetchFirstPostForSessionUser, which is > not commented out but of course you are ignoring the return value. I > see that in fetchFirst.. you are using the condition with = 1 so it > should be ok. As I said try debugging and see what it is returning. > Also you can look in development.log and see exactly the query being > executed. > > Colin- Hide quoted text - > > - Show quoted text - -- 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

