findメソッド SQL文
#Find the client with primary key (id) 10.
client = Client.find(10)
#=> #<Client id: 10, first_name: "Ryan">
SELECT * FROM client WHERE (clients.id = 10) LIMIT 1
ActiveRecord::RecordNotFound
#Find the client with primary keys 1 and 10
client = Client.find([1, 10]) # Client.find(1, 10)でもよい
#=> [#<Client id: 1, first_name: "Lifo">,#<Client id: 10, first_name: "Ryan">]
SELECT * FROM clients WHERE (clients.id IN (1,10))
find('1:主キー値')
def get_find
@article = Article.find(1)
render 'articles/show'
end
SELECT "articles".* FROM "articles" WHERE "articles"."id" = ? LIMIT 1
[["id", 1]]
def get_find2
@articles = Article.find(1,3,5)
render 'get_all'
end
SELECT "articles".* FROM "articles" WHERE "articles"."id" IN (1,3,5)
find_all_by_'xxxx:フィールド名'('MVC入門:検索値')
find_by_'xxxx:フィールド名'('MVC入門:')
@article =Article.find_by_title('member:検索値')
SELECT "articles".* FROM "articles"
WHERE "articles".* "title" = 'MVC入門'
@users = User.find_all_by_roles('membaer')
SELECT "users".* FROM "users" WHERE "users"."roles" = 'member'
#blogテーブルからIDが1のデータを検索し、ロードする
blog = Blog.find(1)
#findメソッドの引数に指定するIDは、数値でも文字列でも構わない
blog = Blog.find("1")
SELECT * FROM blog WHERE id = 1
#IDが1,2,3のレコードをロードする
blog = Blog.find(1,2,3)
#可変長引数ではなく、IDの値を複数含んだ配列オブジェクトを渡しても可
blog = Blog.find([1,2,3])
SELECT * FROM blog WHERE blog.id IN (1,2,3)
#blogテーブルから一番"先頭"のレコードを検索してロードする
blog = Blog.first
#blogテーブルから一番"最後"のレコードを検索してロードする
blog = Blog.last
#blogテーブルから"すべて"のレコードを検索してロードする
blogs = Blog.all
def index
flash[:notice] = "きょうは#{Date.today}"
end
<% if flash[:notice] %>
<div id="flash" style="color": green; border: green solid">
<%=flash[:notice]%>
</div>
<% end %>
def index
flash.now[:notice] = "ようこそ。今日は#{Date.today}です。"
#このメッセージはリクエスト内でのみ有効
end
redirect_to :root, :flash => {:error => "IDまたはパスワードが違います。"}
redirect_to :root, :notice => "ようこそ!!"