2
1

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 5 years have passed since last update.

RubyonRailsでtwitter風webアプリケーションの作成 STEP2:ユーザーの編集、削除

Last updated at Posted at 2019-05-22

ユーザー一覧から詳細ページに移動する

app/views/users/index.html.erb
<div class="container">
<h1>twitter</h1>
<% @user.each do |user| %>
<p><%= link_to user.email,user_path(@user) %></p> #ここを変更
<% end %>
</div>

showメソッドの追加
editメソッドの追加
updateメソッドの追加
destroyメソッドの追加
update用のストロングパラメーター作成

app/controllers/users_controller.rb
  def show
    @user = User.find(params[:id])
  end

  def edit
    @user = User.find(params[:id])
  end

  def update
    @user = User.find(params[:id])
    @user.update(user_update_params)
    redirect_to root_path
  end

  def destroy
    @user = User.find(params[:id])
    if @user.destroy
    redirect_to root_path
    end
  end
  
  private
  .
  .
  def user_update_params
    params.require(:user).permit(:email)
  end

showビューの作成

app/views/users/show.html.erb
<h2><%= @user.email %></h2>
<br>
<p><%= link_to "Eメールアドレスを編集する",edit_user_path(@user) %></p>
<p><%= link_to "このユーザーを削除する",user_path(@user),method: :delete %></p>

editビューの作成

app/views/users/edit.html.erb
<div class="row">
<div class="col-md-6 col-md-offset-2">
  <h1>ユーザーを編集する</h1>
  <%= form_for(@user) do |f| %>
  <p><%= f.label :email , "メールアドレス"%></p>
  <p><%= f.email_field :email %></p>
  <p><%= f.submit "更新する", class: "btn btn-primary" %></p>
  <% end %>
</div>
</div>

一旦ブラウザで確認

コマンドライン
$ rails s -b 192.168.33.11 -d #192.168.33.11はipアドレスを確認してください

こんな感じです

スクリーンショット 2019-05-22 21.51.36.png

スクリーンショット 2019-05-22 21.51.44.png

スクリーンショット 2019-05-22 21.51.56.png

今回はここまで

次はログイン、ログアウト機能の実装をしていきます。コチラ

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?