2016-11-30 7 views
0
Rails 3.2 

が、私は次があります。未知の属性の私のモデル/ lead_billing.rbで

attr_accessible :ticket_update_type 

ticket_update_typeは、MySQLのテーブルに存在しない、と私は隠されたとして送信フォームで使用していますフィールド。

これは、提出フォーム(スリム)である:私はそれを埋めるとき

= form_for(LeadBilling.new, url: lead_billing_path) do |f| 
    .form-horizontal-column.customer-info 
    .form-group 
     = f.label :pre_tax_total 
     = f.text_field :pre_tax_total, maxlength: 50 
     = f.error_message :pre_tax_total 
    .form-group 
     = f.label :post_tax_total 
     = f.text_field :post_tax_total, maxlength: 50 
     = f.error_message :post_tax_total 
    .form-group 
     = f.hidden_field :ticket_update_type, value: "save_lead_billing" 
    .form-horizontal-column.customer-info 
    .actions = f.submit 'Save Lead Billing Details' 
.clear 

、および送信ボタンをクリックして、私はスクリーン「何かが間違っを行ってきました」取得します。詳細で

unknown attribute: ticket_update_type from user 

:私は次のエラーメッセージが表示され、ログファイルを見

/home/app/.rvm/gems/ruby-2.1.5/gems/activerecord-3.2.18/lib/active_record/attribute_assignment.rb:88:in `block in assign_attributes' 
/home/app/.rvm/gems/ruby-2.1.5/gems/activerecord-3.2.18/lib/active_record/attribute_assignment.rb:78:in `each' 
/home/app/.rvm/gems/ruby-2.1.5/gems/activerecord-3.2.18/lib/active_record/attribute_assignment.rb:78:in `assign_attributes' 
/home/app/.rvm/gems/ruby-2.1.5/gems/activerecord-3.2.18/lib/active_record/base.rb:498:in `initialize' 
/home/app/app/controllers/admin/lead_billings_controller.rb:42:in `new' 
/home/app/app/controllers/admin/lead_billings_controller.rb:42:in `create' 

だから、それは初期の問題ですか?しかし、私はすでにlead_billingモデルで宣言しました。

アイデア?あなたはそれを定義する必要が

= f.hidden_field :ticket_update_type, value: "save_lead_billing" 

答えて

1

を試してみてくださいhidden_field_tag

= hidden_field_tag :ticket_update_type, value: "save_lead_billing" 

あなたのコントローラでは、あなたがそれを求めることができますparams[:ticket_update_type]経由で、LeadBillingモデルへの不要なアクセサを追加する必要はありません

1

ticket_update_typeがLeadBillingモデルの一部ではない場合、あなたはあなたの形でそのモデルとそれを結ぶ、代わりにはならない

attr_accessor(:ticket_update_type) 
+0

なぜparanthesisですか? – EastsideDeveloper

+0

彼らは必要ありませんが、私はそれらを好むので、私は彼らがそれを読むのをより容易にすると思うからです。 – Fallenhero

+0

主にそれは 'アクセッサー'アクセスできない ' – Fallenhero

関連する問題