not in use blog

エンジニアの日々の学びと思考の記録。

【Rails】respond_to do |format| ~ endの使い方と学び(2020.06.25)

こんにちは。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を使ってデバッグをしまくる

以上。