カロリーメイトください

Barbaroi Ware(バルバロイ・ウェア)という名前でアプリ開発してます

『Ruby on Rails チュートリアル』「第10章ユーザーの更新・表示・削除」1

railstutorial.jp

序文

Railsチュートリアル20日目。

今日僕土曜日の気分でいるんですけど日曜日なんですね。

進捗

  • 第10章ユーザーの更新・表示・削除
    • 10.1 ユーザーを更新する

コード実装部分(一部)

/sample_app/app/views/users/edit.html.erb

<%# 順番が気持ち悪いが:titleに"Edit user"を指定し、layouts/application.html.erb内で使用している %>
<% provide(:title, "Edit user") %>
<%# 順番が気持ち悪いが:button_textに"Save Changes"を指定し、 %>
<%# users/_form.html.erb内で使用している %>
<% provide(:button_text, "Save changes") %>
<%# user_pathにPATCHリクエストでユーザーデータを更新する %>
<% provide(:output_path, user_path) %>
<h1>Update your profile</h1>

<div class="row">
  <div class="col-md-6 col-md-offset-3">
    <%# /users/1に対してpostで送信するフォーム %>
    <%# <form class="edit_user" id="edit_user_1" action="/users/1" accept-charset="UTF-8" method="post"> %>
    <%# <input name="utf8" type="hidden" value="&#x2713;" /> %>
    <%# PATCHリクエストを「偽造」している(なくてもいい?) %>
    <%# 実際には@userが既存のものであれば(new_record?メソッドで判定) %>
    <%# PATCHアクションと判断している %>
    <%# <input type="hidden" name="_method" value="patch" /> %>
    <%# <input type="hidden" name="authenticity_token" value="XXXXXXXXXX==" /> %>

    <%# /sample_app/app/views/users/_form.html.erbに定義したレイアウトフォーム %>
    <%= render 'form' %>

    <div class="gravatar_edit">
      <%# ヘルパーメソッドでgravatarへのリンクを作成する %>
      <%= gravatar_for @user %>
      <a href="http://gravatar.com/emails" target="_blank" relationship="noopener">change</a>
    </div>
  </div>
</div>

GitHub

github.com

実行結果

f:id:yjkym:20181209154038p:plain

感想

今日からRailsチュートリアル9章突入。

なお、サンプルアプリケーションの基本的なログイン機構は第8章で実装できているので、実は本章をスキップして第10章に進んでしまうことも可能です

今日からRailsチュートリアル10章突入。

まずはユーザーデータの更新から実装していく。

今までいくつかなんとなくWebアプリケーションを作成してきたが、データの更新ということをやったことがないので、よくわからない。
PATCHアクションとかいうのを使うらしい。

やっぱりRubyはわかりづらい。
目印がないのでその文字列が、変数なのかメソッドなのか、はたまた名前付きルートとかいうやつなのかさっぱりわからなくなる。
「すべてがオブジェクト」らしいので、そういう風に考えること自体が間違いなのだろうとは思うが、まだRubyの思想が腹落ちしていない。

ヘルパーメソッドにしてもどこで定義しているものか分からなくなって、ソースを追うのが難しい。
ひとつひとつコメントを打ってなるべく混乱しないように努めているが…。
チェリー本読めばいいのかなー。

カロリーメイトもください。

今日のunityroom

PuzzCubic | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
www.youtube.com
教本の教材に良さそう