【问题标题】:ActiveAdmin: Child object claims to not have method parent_object_idActiveAdmin:子对象声称没有方法 parent_object_id
【发布时间】:2014-08-26 00:47:15
【问题描述】:

我之前已经解决了这个问题,但目前我没有解决这个问题。

我有两个模型FlsCenterAirport。 FlsCenters has_many 机场。 在活动管理员中,我正在创建一个新的 Airport 对象。但是,当我在仪表板中按 New Airport 时,出现以下错误:

undefined method `fls_center_id' for #<Airport:0x007fbf5457bf00>

以下是两个模型的模型定义:

class Airport < ActiveRecord::Base
  belongs_to :fls_center
end



class FlsCenter < ActiveRecord::Base

  has_many :housing_options
  has_many :airports
  has_many :programs
end

这是我的 Schema.rb

 create_table "airports", force: true do |t|
    t.string   "name"
    t.integer  "pick_up_cost"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

请注意没有字段fls_center_id。 Rails 不是通过belongs_tohas_many 处理这个问题吗?为什么我的模式不反映我的模型?

我跑了rake db:migrate。另外作为参考,我已将 fls_center_id 作为允许的参数包含在活动管理员中。

【问题讨论】:

    标签: activeadmin ruby-on-rails-4.1


    【解决方案1】:

    Rails 不会仅仅通过设置模型就为您创建数据库列。您可以添加另一个迁移以添加此新字段。试试:

    rails g migration add_fls_center_to_airports fls_center:reference:index
    

    然后运行 ​​rake db:migrate。

    【讨论】:

      猜你喜欢
      • 2014-01-18
      • 1970-01-01
      • 2023-03-03
      • 2012-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-11
      相关资源
      最近更新 更多