Ask A Question

Notifications

You’re not receiving notifications from this thread.

How do I do the following in a better way?

teja asked in Tips

How can I write the following code in better way

if author.present?
    Article.where(category:  params[:category], author_id: author.id)
else
    Article.where(category:  params[:category])
end
Reply

Hmm maybe

articles = Article.where(category: params[:category])
articles = articles.where(author_id: author.id) if author.present?

# use your articles here...
Reply

You could build the conditions first then use them in the query:

conditions = { category: params[:category] }
conditions[:author_id] = author.id if author
Article.find(:all, conditions: conditions)
Reply

ou could build the conditions first then use them in the query:

Reply
Join the discussion

Want to stay up-to-date with Ruby on Rails?

Join 73,723+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.

    Screencast tutorials to help you learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more. Icons by Icons8

    © 2023 GoRails, LLC. All rights reserved.