Prince Joseph wrote in post #1043906: > @Michael is right. We can help you in doing this, in case you are stuck > up > somewhere, but you must really atleast make an effort. > > As of point 3, you can consider the following suggestions: > > 1. `current_user.roles.map {|r| r.to_s}.include?('admin')` > > Consider moving this code to User model by defining an instance > function > like 'admin?' so that you can call 'current_user.admin?' > 2. `@info = Info.find(:first, :conditions => "article_id = > #{@article.id}")` > > Use associations to define this so that you call `@info = > @article.info` > 3. `@comments = Comment.find(:first, :conditions => "article_id = > #{@article.id}")` > > Again use associations for this. Also, since this is returning a > single > object, the variable name should be @comment (singular). > > > > On Fri, Feb 3, 2012 at 5:08 PM, Michael Pavling <pavl...@gmail.com> > wrote: > >> > Thanks for your compliment. But please... >> 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. >> >> > > > -- > Thanks, > Prince
Thanks for your hint, I have tried the problem and please check this whether it is correct or not Models requires: class Article < ActiveRecord::Base has_many :related_articles, :dependent => :destroy has_many :info, :dependent => :destroy has_many :comments, :dependent => :destroy end class RelatedArticle < ActiveRecord::Base belongs_to :article end class Info < ActiveRecord::Base belongs_to :article end class Comment < ActiveRecord::Base belongs_to :article end Each article can be related to many articles (or none). -- YES Cleaning up the code: class ArticleController < ApplicationController def show @article = Article.find(params[:id]) if current_user.roles.map {|r| r.to_s}.include?('admin') @info = @article.info.first else @info = nil end if params[:show_comments] && params[:show_comments] != '' @comments = @article.comments.first end if !(params[:hide_related] && params[:hide_related] != '') @related_articles = @article.related_articles end end end -- 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.