質問編集履歴

5 インデントを揃えました。

latte217

latte217 score 7

2020/08/21 12:13  投稿

2以上のモデルでja.ymlが反映しない。
### 前提・実現したいこと
初めまして、初心者なのですが、現在登録画面にバリデーションをモデルに付与し
日本語によるエラーを表示させるべく実装しています。
多くのサイトから、userモデルにおける、実装はなんとかうまくいき
続いて、userに関する別の情報を登録するためのstaffmemberというモデルを追加し
これについても同様に、エラーの情報を日本語で表示させるためにja.ymlに
コードを追記したのですが、反映しない状況です。
インデントについても、注意し記載したのですが、そもそもの構文が
間違っているのかわからず悩んでおります。ご教授お願いいたします。
環境:Ruby on Rails 6.0
### 発生している問題・エラーメッセージ
下記のソースコードにおいて、user モデルに関してバリデーションエラーは正常に表示してくれますが
**staffmemberモデルの code に関するバリデーションチェックはかかっているものの下記の翻訳エラー
が発生してしまっております。
**
```
Code translation missing: ja.activerecord.errors.models.staffmember.attributes.code.blank
```
### 該当のソースコード
```Rails 6.0
ja:
   activerecord:
     errors:
       models:
         user:
           attributes:
               name:
                   blank: :空白になっています。
               email:
                   blank: :空白になっています。
                   invalid: :正しいメールアドレスを登録ください。
               password:
                   blank: :空白になっています。
                   too_short: :6文字以上で入力してください。
               password_confirmation:
                   confirmation: :パスワードが一致しません。
         staffmember:
           attributes:
               code:
                   blank: : 空白登録できません。
```
### 試したこと
locale.rbの記述
Rails.application.config.i18n.default_locale = :ja
### 補足情報(FW/ツールのバージョンなど)
VS-CODEにてローカル環境にて開発中です。
### 追加情報
モデル
```
class Staffmember < ApplicationRecord
   before_save{ self.code = code.downcase}
   validates :code, presence: true, uniqueness: true
   validates :jpn_name, presence: true
   validates :password, presence: true, length: {minimum: 6}
   validates :kana_name, presence: true
   validates :birthday, presence: true
   has_secure_password
end
```
コントローラー
```class StaffmembersController < ApplicationController
 def index
 end
 
 def new
   @staff = Staffmember.new
 end
 def create
   @staff = Staffmember.new(staffmember_params)
   if @staff.save
     flash[:success] = "登録されました。"
     redirect_to @staff
   else
     render 'new'
   end
 end
 def show
   @staff = Staffmember.find(params[:id])
 end
  private
     def staffmember_params
       params.require(:staffmember).permit(:code, :password, :password_confirmation, :jpn_name, :kana_name, :eng_name,
       :birthday, :sex )
     end
 
end
```
ビュー
```<h1>スタッフ登録</h1>
<div class="row">
<%= form_with(model: @staff, local: true) do |f| %>
 <%= render "shared/error_messages", object: f.object %>
 <section>
  <h2>基本情報</h2>
    <div class="form-group col-md-2">
     <%= f.label :code, "職員番号" %>
     <%= f.number_field :code %>
    </div>
 
    <div class="form-group col-md-2">
     <%= f.label :password %>
     <%= f.password_field :password %>
    </div>
    <div class="form-group col-md-2">
     <%= f.label :password_confirmation, "Password再入力" %>
     <%= f.password_field :password_confirmation %>
    </div>
    <div class="form-group col-md-3">
     <%= f.label :jpn_name, "氏  名" %>
     <%= f.text_field :jpn_name %>
    </div>
    <div class="form-group col-md-3">
     <%= f.label :kana_name, "カナ氏名" %>
     <%= f.text_field :kana_name %>
    </div>
    <div class="form-group col-md-3">
     <%= f.label :eng_name, "英字氏名" %>
     <%= f.text_field :eng_name %>
    </div>
   
    <div class="form-group col-md-2">
     <%= f.label :birthday, "生年月日" %>
     <%= f.date_field :birthday %>
    </div>
    <div class="form-group col-md-2">
     <%= f.label :sex, "性別" %>
     <%= f.select :sex, [['男性', 1], ['女性', 2]],{ selected: 2} %>
    </div>
 </section>
 
 <section>
 <h2>部署情報</h2>
 </section>
 <%= f.submit "登 録", class: "btn btn-primary" %>
<% end %>
</div>
```
```
#改めてインデント揃えました。
```ja:
 activerecord:
   errors:
     models:
       user:
         attributes:
           name:
             blank: :空白になっています。
           email:
             blank: :空白になっています。
             invalid: :正しいメールアドレスを登録ください。
           password:
             blank: :空白になっています。
             too_short: :6文字以上で入力してください。
           password_confirmation:
             confirmation: :パスワードが一致しません。
       staffmember:
         attributes:
           code:
             blank: : 空白登録できません。
       
   attributes:
     user:
       name: 名前
       email: メールアドレス
       password_confirmation: Password 再入力
   
コード
```
 
  • Ruby

    17343 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • バリデーション

    272 questions

    Validationとは特定の入力データが、求められた条件に当てまっているかをチェックするために使われます。

  • Ruby on Rails 6

    2137 questions

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

4 改行が間違っていたので、更新しました(モデル)

latte217

latte217 score 7

2020/08/20 14:18  投稿

2以上のモデルでja.ymlが反映しない。
### 前提・実現したいこと
初めまして、初心者なのですが、現在登録画面にバリデーションをモデルに付与し
日本語によるエラーを表示させるべく実装しています。
多くのサイトから、userモデルにおける、実装はなんとかうまくいき
続いて、userに関する別の情報を登録するためのstaffmemberというモデルを追加し
これについても同様に、エラーの情報を日本語で表示させるためにja.ymlに
コードを追記したのですが、反映しない状況です。
インデントについても、注意し記載したのですが、そもそもの構文が
間違っているのかわからず悩んでおります。ご教授お願いいたします。
環境:Ruby on Rails 6.0
### 発生している問題・エラーメッセージ
下記のソースコードにおいて、user モデルに関してバリデーションエラーは正常に表示してくれますが
**staffmemberモデルの code に関するバリデーションチェックはかかっているものの下記の翻訳エラー
が発生してしまっております。
**
```
Code translation missing: ja.activerecord.errors.models.staffmember.attributes.code.blank
```
### 該当のソースコード
```Rails 6.0
ja:
   activerecord:
     errors:
       models:
         user:
           attributes:
               name:
                   blank: :空白になっています。
               email:
                   blank: :空白になっています。
                   invalid: :正しいメールアドレスを登録ください。
               password:
                   blank: :空白になっています。
                   too_short: :6文字以上で入力してください。
               password_confirmation:
                   confirmation: :パスワードが一致しません。
         staffmember:
           attributes:
               code:
                   blank: : 空白登録できません。
```
### 試したこと
locale.rbの記述
Rails.application.config.i18n.default_locale = :ja
### 補足情報(FW/ツールのバージョンなど)
VS-CODEにてローカル環境にて開発中です。
### 追加情報
モデル
```class Staffmember < ApplicationRecord
```
class Staffmember < ApplicationRecord
   before_save{ self.code = code.downcase}
   validates :code, presence: true, uniqueness: true
   validates :jpn_name, presence: true
   validates :password, presence: true, length: {minimum: 6}
   validates :kana_name, presence: true
   validates :birthday, presence: true
   has_secure_password
end
```
コントローラー
```class StaffmembersController < ApplicationController
 def index
 end
 
 def new
   @staff = Staffmember.new
 end
 def create
   @staff = Staffmember.new(staffmember_params)
   if @staff.save
     flash[:success] = "登録されました。"
     redirect_to @staff
   else
     render 'new'
   end
 end
 def show
   @staff = Staffmember.find(params[:id])
 end
  private
     def staffmember_params
       params.require(:staffmember).permit(:code, :password, :password_confirmation, :jpn_name, :kana_name, :eng_name,
       :birthday, :sex )
     end
 
end
```
ビュー
```<h1>スタッフ登録</h1>
<div class="row">
<%= form_with(model: @staff, local: true) do |f| %>
 <%= render "shared/error_messages", object: f.object %>
 <section>
  <h2>基本情報</h2>
    <div class="form-group col-md-2">
     <%= f.label :code, "職員番号" %>
     <%= f.number_field :code %>
    </div>
 
    <div class="form-group col-md-2">
     <%= f.label :password %>
     <%= f.password_field :password %>
    </div>
    <div class="form-group col-md-2">
     <%= f.label :password_confirmation, "Password再入力" %>
     <%= f.password_field :password_confirmation %>
    </div>
    <div class="form-group col-md-3">
     <%= f.label :jpn_name, "氏  名" %>
     <%= f.text_field :jpn_name %>
    </div>
    <div class="form-group col-md-3">
     <%= f.label :kana_name, "カナ氏名" %>
     <%= f.text_field :kana_name %>
    </div>
    <div class="form-group col-md-3">
     <%= f.label :eng_name, "英字氏名" %>
     <%= f.text_field :eng_name %>
    </div>
   
    <div class="form-group col-md-2">
     <%= f.label :birthday, "生年月日" %>
     <%= f.date_field :birthday %>
    </div>
    <div class="form-group col-md-2">
     <%= f.label :sex, "性別" %>
     <%= f.select :sex, [['男性', 1], ['女性', 2]],{ selected: 2} %>
    </div>
 </section>
 
 <section>
 <h2>部署情報</h2>
 </section>
 <%= f.submit "登 録", class: "btn btn-primary" %>
<% end %>
</div>
```
  • Ruby

    17343 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • バリデーション

    272 questions

    Validationとは特定の入力データが、求められた条件に当てまっているかをチェックするために使われます。

  • Ruby on Rails 6

    2137 questions

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

3 ビューを追加掲載しました。

latte217

latte217 score 7

2020/08/20 14:15  投稿

2以上のモデルでja.ymlが反映しない。
### 前提・実現したいこと
初めまして、初心者なのですが、現在登録画面にバリデーションをモデルに付与し
日本語によるエラーを表示させるべく実装しています。
多くのサイトから、userモデルにおける、実装はなんとかうまくいき
続いて、userに関する別の情報を登録するためのstaffmemberというモデルを追加し
これについても同様に、エラーの情報を日本語で表示させるためにja.ymlに
コードを追記したのですが、反映しない状況です。
インデントについても、注意し記載したのですが、そもそもの構文が
間違っているのかわからず悩んでおります。ご教授お願いいたします。
環境:Ruby on Rails 6.0
### 発生している問題・エラーメッセージ
下記のソースコードにおいて、user モデルに関してバリデーションエラーは正常に表示してくれますが
**staffmemberモデルの code に関するバリデーションチェックはかかっているものの下記の翻訳エラー
が発生してしまっております。
**
```
Code translation missing: ja.activerecord.errors.models.staffmember.attributes.code.blank
```
### 該当のソースコード
```Rails 6.0
ja:
   activerecord:
     errors:
       models:
         user:
           attributes:
               name:
                   blank: :空白になっています。
               email:
                   blank: :空白になっています。
                   invalid: :正しいメールアドレスを登録ください。
               password:
                   blank: :空白になっています。
                   too_short: :6文字以上で入力してください。
               password_confirmation:
                   confirmation: :パスワードが一致しません。
         staffmember:
           attributes:
               code:
                   blank: : 空白登録できません。
```
### 試したこと
locale.rbの記述
Rails.application.config.i18n.default_locale = :ja
### 補足情報(FW/ツールのバージョンなど)
VS-CODEにてローカル環境にて開発中です。
### 追加情報
モデル
```class Staffmember < ApplicationRecord
   before_save{ self.code = code.downcase}
   validates :code, presence: true, uniqueness: true
   validates :jpn_name, presence: true
   validates :password, presence: true, length: {minimum: 6}
   validates :kana_name, presence: true
   validates :birthday, presence: true
   has_secure_password
end
```
コントローラー
```class StaffmembersController < ApplicationController
 def index
 end
 
 def new
   @staff = Staffmember.new
 end
 def create
   @staff = Staffmember.new(staffmember_params)
   if @staff.save
     flash[:success] = "登録されました。"
     redirect_to @staff
   else
     render 'new'
   end
 end
 def show
   @staff = Staffmember.find(params[:id])
 end
  private
     def staffmember_params
       params.require(:staffmember).permit(:code, :password, :password_confirmation, :jpn_name, :kana_name, :eng_name,
       :birthday, :sex )
     end
 
end
```  
 
ビュー  
```<h1>スタッフ登録</h1>  
 
<div class="row">  
 
<%= form_with(model: @staff, local: true) do |f| %>  
 <%= render "shared/error_messages", object: f.object %>  
 <section>  
  <h2>基本情報</h2>  
    <div class="form-group col-md-2">  
     <%= f.label :code, "職員番号" %>  
     <%= f.number_field :code %>  
    </div>  
   
    <div class="form-group col-md-2">  
     <%= f.label :password %>  
     <%= f.password_field :password %>  
    </div>  
 
    <div class="form-group col-md-2">  
     <%= f.label :password_confirmation, "Password再入力" %>  
     <%= f.password_field :password_confirmation %>  
    </div>  
 
    <div class="form-group col-md-3">  
     <%= f.label :jpn_name, "氏  名" %>  
     <%= f.text_field :jpn_name %>  
    </div>  
 
    <div class="form-group col-md-3">  
     <%= f.label :kana_name, "カナ氏名" %>  
     <%= f.text_field :kana_name %>  
    </div>  
 
    <div class="form-group col-md-3">  
     <%= f.label :eng_name, "英字氏名" %>  
     <%= f.text_field :eng_name %>  
    </div>  
     
    <div class="form-group col-md-2">  
     <%= f.label :birthday, "生年月日" %>  
     <%= f.date_field :birthday %>  
    </div>  
 
    <div class="form-group col-md-2">  
     <%= f.label :sex, "性別" %>  
     <%= f.select :sex, [['男性', 1], ['女性', 2]],{ selected: 2} %>  
    </div>  
 
 </section>  
   
 <section>  
 <h2>部署情報</h2>  
 </section>  
 <%= f.submit "登 録", class: "btn btn-primary" %>  
<% end %>  
</div>  
```
  • Ruby

    17343 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • バリデーション

    272 questions

    Validationとは特定の入力データが、求められた条件に当てまっているかをチェックするために使われます。

  • Ruby on Rails 6

    2137 questions

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

2 コントローラーを追加掲載しました

latte217

latte217 score 7

2020/08/20 14:13  投稿

2以上のモデルでja.ymlが反映しない。
### 前提・実現したいこと
初めまして、初心者なのですが、現在登録画面にバリデーションをモデルに付与し
日本語によるエラーを表示させるべく実装しています。
多くのサイトから、userモデルにおける、実装はなんとかうまくいき
続いて、userに関する別の情報を登録するためのstaffmemberというモデルを追加し
これについても同様に、エラーの情報を日本語で表示させるためにja.ymlに
コードを追記したのですが、反映しない状況です。
インデントについても、注意し記載したのですが、そもそもの構文が
間違っているのかわからず悩んでおります。ご教授お願いいたします。
環境:Ruby on Rails 6.0
### 発生している問題・エラーメッセージ
下記のソースコードにおいて、user モデルに関してバリデーションエラーは正常に表示してくれますが
**staffmemberモデルの code に関するバリデーションチェックはかかっているものの下記の翻訳エラー
が発生してしまっております。
**
```
Code translation missing: ja.activerecord.errors.models.staffmember.attributes.code.blank
```
### 該当のソースコード
```Rails 6.0
ja:
   activerecord:
     errors:
       models:
         user:
           attributes:
               name:
                   blank: :空白になっています。
               email:
                   blank: :空白になっています。
                   invalid: :正しいメールアドレスを登録ください。
               password:
                   blank: :空白になっています。
                   too_short: :6文字以上で入力してください。
               password_confirmation:
                   confirmation: :パスワードが一致しません。
         staffmember:
           attributes:
               code:
                   blank: : 空白登録できません。
```
### 試したこと
locale.rbの記述
Rails.application.config.i18n.default_locale = :ja
### 補足情報(FW/ツールのバージョンなど)
VS-CODEにてローカル環境にて開発中です。
### 追加情報
モデル
```class Staffmember < ApplicationRecord
   before_save{ self.code = code.downcase}
   validates :code, presence: true, uniqueness: true
   validates :jpn_name, presence: true
   validates :password, presence: true, length: {minimum: 6}
   validates :kana_name, presence: true
   validates :birthday, presence: true
   has_secure_password
end
```  
 
コントローラー  
```class StaffmembersController < ApplicationController  
 def index  
 end  
   
 def new  
   @staff = Staffmember.new  
 end  
 
 def create  
   @staff = Staffmember.new(staffmember_params)  
   if @staff.save  
     flash[:success] = "登録されました。"  
     redirect_to @staff  
   else  
     render 'new'  
   end  
 end  
 
 def show  
   @staff = Staffmember.find(params[:id])  
 end  
 
  private  
     def staffmember_params  
       params.require(:staffmember).permit(:code, :password, :password_confirmation, :jpn_name, :kana_name, :eng_name,  
       :birthday, :sex )  
     end  
   
end  
 
```
  • Ruby

    17343 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • バリデーション

    272 questions

    Validationとは特定の入力データが、求められた条件に当てまっているかをチェックするために使われます。

  • Ruby on Rails 6

    2137 questions

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

1 追加情報としてモデルのコードを掲載しました。

latte217

latte217 score 7

2020/08/20 14:11  投稿

2以上のモデルでja.ymlが反映しない。
### 前提・実現したいこと
初めまして、初心者なのですが、現在登録画面にバリデーションをモデルに付与し
日本語によるエラーを表示させるべく実装しています。
多くのサイトから、userモデルにおける、実装はなんとかうまくいき
続いて、userに関する別の情報を登録するためのstaffmemberというモデルを追加し
これについても同様に、エラーの情報を日本語で表示させるためにja.ymlに
コードを追記したのですが、反映しない状況です。
インデントについても、注意し記載したのですが、そもそもの構文が
間違っているのかわからず悩んでおります。ご教授お願いいたします。
環境:Ruby on Rails 6.0
### 発生している問題・エラーメッセージ
下記のソースコードにおいて、user モデルに関してバリデーションエラーは正常に表示してくれますが
**staffmemberモデルの code に関するバリデーションチェックはかかっているものの下記の翻訳エラー
が発生してしまっております。
**
```
Code translation missing: ja.activerecord.errors.models.staffmember.attributes.code.blank
```
### 該当のソースコード
```Rails 6.0
ja:
   activerecord:
     errors:
       models:
         user:
           attributes:
               name:
                   blank: :空白になっています。
               email:
                   blank: :空白になっています。
                   invalid: :正しいメールアドレスを登録ください。
               password:
                   blank: :空白になっています。
                   too_short: :6文字以上で入力してください。
               password_confirmation:
                   confirmation: :パスワードが一致しません。
         staffmember:
           attributes:
               code:
                   blank: : 空白登録できません。
```
### 試したこと
locale.rbの記述
Rails.application.config.i18n.default_locale = :ja
### 補足情報(FW/ツールのバージョンなど)
VS-CODEにてローカル環境にて開発中です。
VS-CODEにてローカル環境にて開発中です。
### 追加情報
モデル
```class Staffmember < ApplicationRecord
   before_save{ self.code = code.downcase}
   validates :code, presence: true, uniqueness: true
   validates :jpn_name, presence: true
   validates :password, presence: true, length: {minimum: 6}
   validates :kana_name, presence: true
   validates :birthday, presence: true
   has_secure_password
end
```
  • Ruby

    17343 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • バリデーション

    272 questions

    Validationとは特定の入力データが、求められた条件に当てまっているかをチェックするために使われます。

  • Ruby on Rails 6

    2137 questions

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

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