質問編集履歴

2 修正依頼の回答として。

SoichiSugimo

SoichiSugimo score 13

2020/07/19 20:15  投稿

RailsでDBの更新をしたい。
現在、RailsでTwitterのようなアプリを作っています。プロフィールとして名前、メールアドレス、自己紹介文をユーザーが登録、編集可能にしたいです。現在、名前とメールアドレスは編集可能なのですが、自己紹介文の変更ができません。
```HTML
<div class="row">
 <div class="col-md-6 col-md-offset-3">
   <%= form_with(model: @user, local: true) do |f| %>
     <%= render 'shared/error_messages', object: f.object %>
     <%= f.label :name %>
     <%= f.text_field :name, class: 'form-control' %>
     
     <%= f.label :email %>
     <%= f.email_field :email, class: 'form-control' %>
 
     <%= f.label :password %>
     <%= f.password_field :password, class: 'form-control' %>
     <%= f.label :password_confirmation, "Confirmation" %>
     <%= f.password_field :password_confirmation, class: 'form-control' %>
     <%= f.label :introduction %>
     <%= f.text_area :introduction, class: 'form-control' %>
     
     <%= f.submit "Save changes", class: "btn btn-primary" %>
   <% end %>
   <div class="gravatar_edit">
     <%= gravatar_for @user %>
     <a href="https://gravatar.com/emails">change</a>
   </div>
 </div>
</div>
```
サンプルのユーザー
```ここに言語を入力
User.create!(name: "Example User2",
   email: "example@railstutorial.org",
   password:             "foobar",
   password_confirmation: "foobar",
   admin:    true,
   activated: true,
   activated_at: Time.zone.now,
   introduction: "I am the developer of this app.")
```
Controller
```
def edit
   @user = User.find(params[:id])
 end
 def update
   @user = User.find(params[:id])
   if @user.update(user_params)
     flash[:success] = "Profile updated"
     redirect_to @user
   else
     render 'edit'
   end
 end
 
 
 
 
 
private  
 
   def user_params  
     params.require(:user).permit(:name, :email, :password,  
                                  :password_confirmation, :introduction)  
   end  
```
よろしくお願いします。
  • Ruby on Rails

    15861 questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • データベース

    2069 questions

    データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

1 変更依頼への回答。

SoichiSugimo

SoichiSugimo score 13

2020/07/19 19:57  投稿

RailsでDBの更新をしたい。
現在、RailsでTwitterのようなアプリを作っています。プロフィールとして名前、メールアドレス、自己紹介文をユーザーが登録、編集可能にしたいです。現在、名前とメールアドレスは編集可能なのですが、自己紹介文の変更ができません。
```HTML
<div class="row">
 <div class="col-md-6 col-md-offset-3">
   <%= form_with(model: @user, local: true) do |f| %>
     <%= render 'shared/error_messages', object: f.object %>
     <%= f.label :name %>
     <%= f.text_field :name, class: 'form-control' %>
     
     <%= f.label :email %>
     <%= f.email_field :email, class: 'form-control' %>
 
     <%= f.label :password %>
     <%= f.password_field :password, class: 'form-control' %>
     <%= f.label :password_confirmation, "Confirmation" %>
     <%= f.password_field :password_confirmation, class: 'form-control' %>
     <%= f.label :introduction %>
     <%= f.text_area :introduction, class: 'form-control' %>
     
     <%= f.submit "Save changes", class: "btn btn-primary" %>
   <% end %>
   <div class="gravatar_edit">
     <%= gravatar_for @user %>
     <a href="https://gravatar.com/emails">change</a>
   </div>
 </div>
</div>
```
サンプルのユーザー
```ここに言語を入力
User.create!(name: "Example User2",
   email: "example@railstutorial.org",
   password:             "foobar",
   password_confirmation: "foobar",
   admin:    true,
   activated: true,
   activated_at: Time.zone.now,
   introduction: "I am the developer of this app.")
```
 
 
Controller  
```  
def edit  
   @user = User.find(params[:id])  
 end  
 
 def update  
   @user = User.find(params[:id])  
   if @user.update(user_params)  
     flash[:success] = "Profile updated"  
     redirect_to @user  
   else  
     render 'edit'  
   end  
 end  
```  
 
よろしくお願いします。
  • Ruby on Rails

    15861 questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • データベース

    2069 questions

    データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る