f.select
のdecimal
の型の取り扱いに困っています。
フォームから→更新→primary_achieve
は1を選択→バリデーションエラー→render :edit
このときに入力された値の1を引き継ぐのことができません。
f.objectの中身を見ると、primary_achieve
には0.1e1が入っています。
f.selectのvalueに0.1e1がないため、選択されていないと思われます。
どのようにすれば、値を引き継ぐことができますか?
ruby
1class CreateSales < ActiveRecord::Migration[6.1] 2 def change 3 create_table :sales do |t| 4 t.decimal :primary_achieve 5 end 6 end 7end
ruby
1= form_for(@sales, url: request_url) do |f| 2 = f.select(:primary_achieve, options_for_select(1..3), { include_blank: "選択してください。" })
ruby
1def update 2 @sale.assign_attributes(sale_params) 3 if @sale 4 else 5 render :edit 6 end 7end
回答1件
あなたの回答
tips
プレビュー