2013-05-08 59 views
0

我有下面的代碼構成了我passport_visas.rb模型有2種型號(belongs_to的和的has_many)ActiveAdmin表不工作

ActiveAdmin.register PassportVisa do 

    menu :label => "Visas" 
    form :partial => "form" 

    index :title => "Visas" 
end 

,這是我的部分「形式」

​​代碼

而且我收到此錯誤信息:「爲#Formtastic :: FormBuilder未定義的方法`的has_many」:0x10c234c38"

我想了整整一天設置這種形式,這裏是我的模型代碼:

passport_visa.rb

class PassportVisa < ActiveRecord::Base 
    has_many :visa_entries 
    accepts_nested_attributes_for :visa_entries 
end 

visa_entry.rb

class VisaEntry < ActiveRecord::Base 
    belongs_to :passport_visa 
    attr_accessible :type_of_entry, :maximum_validity, :embassy_fees, :service_fees, :processing_time 
end 
+0

有人嗎?請幫幫我! – 2013-05-08 13:38:26

+0

請參閱:http://stackoverflow.com/questions/10070779/undefined-method-has-many-for-formtastic 聽起來像一個類似的問題。 – 2013-05-08 13:58:46

回答

0

終於讓我找到一個變通爲。所以這是我做的工作:

  1. 首先,我擺脫了_form部分,因爲某些原因,「has_many」不在那裏工作。
  2. 我修改了2種型號:

passport_visa.rb

class PassportVisa < ActiveRecord::Base 
    has_many :visa_entries 
    accepts_nested_attributes_for :visa_entries 
    attr_accessible :visa_entries_attributes, :country, :citizenship, :visa_type, :visa_required, :maximum_stay 
    validates_presence_of :country, :citizenship, :visa_type, :visa_required, :maximum_stay 
end 

visa_entry.rb

class VisaEntry < ActiveRecord::Base 
    belongs_to :passport_visa 
    attr_accessible :type_of_entry 
    validates_presence_of :type_of_entry 
end 

而最後一部分,實際的形式:

form do |f| 

     f.inputs "Entries" do 
      f.has_many :visa_entries do |ff| 
       ff.input :type_of_entry, :as => :select, :collection => ["Testing"] 
      end 
     end 

     f.actions 

    end 

再見!