Railsでユーザー登録フォームのカラムをサンプルコードに記載ある"name", "email" に新しく”employee_num"というカラムを追加しようとしています。
Viewファイルのカラムフィールドのところで以下のようにエラーが出ております。どのように解決できますでしょうか?ちなみにRails version 5.0.0.1, ruby 2.3.0, ubuntu 14.04で、マイケル・ハートル氏のRails Tutorialで登場するサンプルを元に作成しています。
undefined method `mhps_employee_num_field' for #ActionView::Helpers::FormBuilder:0xba80a678
テーブルにはこのカラムは存在しており、viewファイルの内容は以下の通りです。
app/views/users/new.html.erb
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
<% provide(:title, 'Sign up') %>
employee_num列がテーブルに存在するとして、“mhps_” というprefixが付いているのは何か理由がありますか?
Rails Tutorial といったらこのページ( https://railstutorial.jp/ )かと思いますが、現在どのページ(URL)を参照されていますか?
suama さん コメントありがとうございます。mhps_というのは特に理由はなく、単に会社名の略称を入れているだけです。
goufさん、コメントありがとうございます。ページ右下の番号で、352ページの、リスト7.15です。この内容にラベルを1つ増やして、mhps_employee_numを追加しました。
モデルに関連付けた/いた フォームを簡単に作成するためのフォームビルダ機能なので: mhps_employee_num というデータベース カラムは新設済みですか? モデルから参照・操作できますか?
mhps_employee_numというデータベースカラムは作成しており、sqliteの画面から見てもカラムは準備できております。モデルから参照・操作できるかという問いにどう答えたらよいかわからないのですが、user.rb class User < ApplicationRecord before_save { email.downcase! } validates :name, presence: true, length: { maximum:30 } VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i validates :email, presence: true, length: { maximum:30 }, format: { with: VALID_EMAIL_REGEX } has_secure_password validates :password, presence: true, length: { minimum:6 } end, application_record.rbはclass ApplicationRecord < ActiveRecord::Base self.abstract_class = true end
回答1件
あなたの回答
tips
プレビュー