I have the following in a controller
def update
@permission = Permission.find_by_user_id(params[:user_id])
But I want it to also find by another param, project_id
How can I do something like this in Rails?
@permission = Permission.find_by_user_id_and_project_id(params[:user_id],params[:user_id])
Rails 4 introduces the find_by method:
Permission.find_by(user_id: params[:user_id], project_id: params[:project_id])
Yes, you can do finds in a bunch of ways.
Your example below works:
@permission = Permission.find_by_user_id_and_project_id(params[:user_id],params[:project_id])
-- Note your example had two user_ids
In rails 2.x you can also use conditions
@permission = Permission.find(:conditions=>["user_id=? and project_id=?", params[:user_id], params[:project_id]])
And in Rails 3, you can be cool like:
@permission = Permission.where(:user_id=>params[:user_id]).where(:project_id=>params[:project_id]).first
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With