こんにちは。akitoshiblogです。
今日はRailsの
respond_to do |format| ~ end
の使い方について調べたので、そのアウトプット記事になります。
■使われる場所
controllerの中
■respond_to do |format| ~ end の使いどころ
・respond_to do |format| ~ end 内でformat.XXXXという形で返却形式を指定できる
→htmlで返したい場合は「format.html」となる。
・format.htmlだけでもcontroller内で指定したパラメーターをビューに送ることができるが、format.html { render 'XXXX' } とすることで指定したフォーマットに対してのみパラメーターを渡すこともできる。
使用例
respond_to do |format|
format.html
end
・実例
pictures_controller.rb
def create
# @taskのインスタンス変数にTaskクラスのオブジェクトを代入
@task =
Task.new(picture_params)
# respond_toで@taskが保存された場合とそうでない場合で返却するものを変える。
respond_to do |format|
if @task.save
# html形式で、@statusのインスタンス変数を渡している。これはbefore_actionで既に@statusを作成している
# notice以降はflashメッセージに表示させる文字を記述
format.html { redirect_to [@task], notice: "
タスクが作成されました。" }
format.json { render :show, status: :created }
else
format.html { render :new }
format.json { render json: @task.errors, status: :unprocessable_entity }
end
end
▷その他学びがあったこと
■働き方に関して
・今日やるべき課題は次の日に持ち越さない意識で働く
・一回聞いたら再びそのことについて聞かないようにする。そこで全て理解するよう努める。
・その後、自分がその仕事をできるようになり、他の人の仕事を巻き取っていく
・怒られながらでも、仕事を終わらせることに熱中する
・聞いた人に対して成長した姿を見せること
・「問い」がないうちにインプットしても意味がない。まずは手を動かして学ぶ、問いを作る
■エンジニアとしての学び方
・仕事を通して仕事を覚えていく。机上の学習では限界がある。
・エディターの全体検索を使ってメソッドを調べる
・binding.pryを使ってデバッグをしまくる
以上。