2013-05-08 73 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 

再见!