私はこれを2時間続けていますが、これが起こっている理由や何らかの理由が見つからないままです。Railsがselect文からActiveRecordに "0"を渡すのはなぜですか?
ActiveModel::StrictValidationFailed in CoursesController#create
Province 0 is not included in the list
I:私のモデルで
私は私がフォームを送信するとき、私はこのエラーを取得する
= form_for @course, url: teach_path do |f|
= f.select :province, options_for_select(['Alberta','British Columbia','Manitoba','New Brunswick','Newfoundland and Labrador','Nova Scotia','Ontario','Prince Edward Island','Quebec','Saskatchewan'], "#{@course.province.to_s}"), {include_blank: "Choose your Province"}, {required: :required}
= f.submit
しかし、このselect文を持っている私の見解では
models/course.rb
class Course < ActiveRecord::Base
validates! :province, inclusion: { :in => ['Alberta','British Columbia','Manitoba','New Brunswick','Newfoundland and Labrador','Nova Scotia','Ontario','Prince Edward Island','Quebec','Saskatchewan', 'Province'], message: "%{value} is not included in the list" }
end
を持っていますアクティブなレコードモデルで独自のメソッドを定義しようとしました
def includes_province
unless ['Alberta','British Columbia','Manitoba','New Brunswick','Newfoundland and Labrador','Nova Scotia','Ontario','Prince Edward Island','Quebec','Saskatchewan', 'Province'].include?(province.to_s)
errors.add(:base, "There is no #{province} in the list")
end
end
それはちょうど
There is no 0 in the list
を返すのはなぜ省は常に0どんなですか?私は、ログをチェックして、それが示しています
Processing by CoursesController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"***", "course"=>{"province"=>"Manitoba"}, "commit"=>"submit"}
schema.rbにある都道府県のフィールドタイプは何ですか – DMH
州はテーブルに整数型のようですか? – Thorin
私はそれがあなたが探しているものだと思います:http://stackoverflow.com/questions/6668302/rails-select-in-form-returns-index-i-want-to-send-the-text –