0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

草野球の出欠確認Webアプリを作ろう! part.9

Last updated at Posted at 2021-05-19

これから作っていく簡単なWebアプリの作成メモ(自分の備忘)です。
自分用なのであまり凝りすぎないように書いていきたい。

<<前回の記事

##今回やったこと

###ユーザーの編集

前回に引き続き、ユーザーのデータを編集できるようにしていく。

app/controllers/users_controller.rb
(略)
  def edit
    @users = User.find(params[:id])
  end

  def update
    @users = User.find(params[:id])
    if @users.update(users_params)
      redirect_to user_path(@users), notice: "ユーザーを編集しました。"
    else
      render :edit
    end
  end
(略)
app/views/users/edit.html.erb
<h1>ユーザーの編集</h1>
<div class="row_line">
  <%= link_to 'ユーザー一覧へ', users_path, class: 'btn btn-primary' %>
</div>

<%= form_for @users, url: {action: "update", id: @users.id} do |f| %>
  <div class="row_line">
    <label>ユーザー名:</label>
    <%= f.text_field :name %>
  </div>
  <div class="row_line">
    <label>メールアドレス:</label>
    <%= f.email_field :email %>
  </div>
  <div class="row_line">
    <label>パスワード:</label>
    <%= f.password :password %>
  </div>
  <div class="row_line">
    <label>パスワード(確認欄):</label>
    <%= f.password_confirmation :password_confirmation %>
  </div>

  <div class="row_line">
    <%= f.submit "保存する" %>
  </div>
<% end %>
app/views/users/index.html.erb
(略)
<tbody>
  <% @users.each do |lst| %>
    <tr class="clickable-row" data-href="<%= user_path lst.id %>">
(略)

この段階で動作を見てみると、以下のようになった。

無題.png

無題.png

無題.png

ちなみにこの段階では、パスワードを入力しないとユーザー情報を変更できない。
これは今後の課題にしたい。

...また、意図していないことだったが、ユーザー用のjavascriptを用意しなくともユーザー一覧のテーブルの行をクリックするとユーザー詳細画面に遷移できてしまった。
これは現状でどの画面でもschedules.jsが読み込まれており、スケジュールの実装の時と同様にクラスやデータ属性を整えると、同じように遷移できてしまうようになっていることが原因。
→理想的には、全画面共通のjavascriptが基本処理としてあり、そこに画面ごとに個別処理のjavascriptを使って実装を進めるのが良いと思う。

時間もなかったので今回はここまで。

次回の記事>>

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?