You can find records by any field in your table using find_by.
So, if you have a User model with a first_name attribute you can do:
User.find_by(first_name: "John")
#=> #<User id: 2005, first_name: "John", last_name: "Smith">
Mind that find_by doesn't throw any exception by default. If the result is an empty set, it returns nil instead of find.
If the exception is needed may use find_by! that raises an ActiveRecord::RecordNotFound error like find.