Rails: Querying the model
Thanks to some metaprogramming magic, whenever you create a column within a table, you get a free find_by_[name of column]
method.
Create a new Friend model with a name and address:
rails g model Friend name:string address:string
rails db:migrate
find_by_[name of column]
If you use Rails Command Line to create a model, then you get this method for free.
Query a friend by their name:
f = Friend.find_by_name("name of friend")
Query a friend by their address:
f = Friend.find_by_address("5555 Disney Ave, Los Angeles, CA")
Query a friend by their database ID:
# f = Friend.find(1)
f = Friend.find(params[:id])
Query everyone in the database:
f = Friend.all
ILIKE
You also get a LIKE
operator for situations where you only have a partial address:
a = Friend.where("address ILIKE ?", "%partial address%")
SQL Only
This is only for very specific circumstances but you can also create a raw SQL command.
Friend.find_by_sql "enter your specific SQL query"