rails_admin SQLite3 :: SQLException:没有这样的列

时间:2014-05-29 12:48:40

标签: ruby-on-rails sqlite ruby-on-rails-4

我使用rails_admin。我有几个表,你可以看到除了一个之外的所有表,当我试着看它时我得到一个错误:

Showing /home/barmaley/.rvm/gems/ruby-2.1.1/gems/rails_admin-0.6.2/app/views/rails_admin/main/index.html.haml where line #135 raised: 

SQLite3 :: SQLException: no such column: headings.section_id: SELECT "headings". * FROM "headings" WHERE "headings". "Section_id" =?

是我的部分模型


    class Section < ActiveRecord::Base
  has_many :headings
  searchable do
  text :name
    end
end

和我的标题模型


class Heading < ActiveRecord::Base
  belongs_to :section
  searchable do
    text :name
    text :address
    text :phone
  end
end

如何解决此错误?

这是我在尝试查看表格时看到的内容:


 - if @other_left_link ||= other_left && index_path(params.except('set').merge(params[:set].to_i != 1 ? {set: (params[:set].to_i - 1)} : {}))
%td.other.left= link_to "...", @other_left_link, class: 'pjax'
- properties.map{ |property| property.bind(:object, object) }.each do |property|
- value = property.pretty_value
%td{class: "#{property.css_class} #{property.type_css_class}", title: strip_tags(value.to_s)}= value
- if @other_right_link ||= other_right && index_path(params.merge(set: (params[:set].to_i + 1)))
%td.other.right= link_to "...", @other_right_link, class: 'pjax'
schema.rb

create_table "headings", force: true do |t|
    t.string   "name"
    t.string   "address"
    t.integer  "phone"
    t.integer  "sec"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

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

1 个答案:

答案 0 :(得分:0)

如果查看db / schema.rb,则标题表中没有名为section_id的列。否则你需要一个&#34; belongs_to:section&#34;无法工作。

所以你需要创建那个列。

rails generate migration AddSectionIdToHeading section_id:integer

rake db:migrate

欢呼声 史蒂夫