未定义的方法`reorder'为#<array:0x007fee740c1b78> </array:0x007fee740c1b78>

时间:2012-03-21 03:15:51

标签: ruby-on-rails ruby ruby-on-rails-3 activeadmin

我正在使用activeadmin,无论出于何种原因,它都不像我的Tag模型。关于它,我没有看到任何与众不同的东西?谷歌没有证明有用

application_controller

class ApplicationController < ActionController::Base

  protect_from_forgery

  before_filter :get_tags

  private

  def get_tags
    @tags = Tag.all
  end

end

tags_controller

class TagsController < ApplicationController

  def search
    @tags = Tag.where("name like ?", "%#{params[:q]}%")
    respond_to do |format|
      format.json { render :json => @tags.to_json(:only => [:id, :name]) }
    end
  end

  def show
    @tag = Tag.find(params[:id])
    @title = @tag.name
  end

end

标签模型

class Tag < ActiveRecord::Base

  self.include_root_in_json = false

  has_many :resource_tags
  has_many :resources, :through => :resource_tags

  attr_accessible :name

  validates :name, :presence => true,
                   :length   => { :within => 2..20 },
                   :uniqueness => { :case_sensitive => false }

end

完整追踪:http://pastie.org/3641717

1 个答案:

答案 0 :(得分:4)

我想出一个问题,猜测你的Tag模型与ActiveAdmins有冲突 Arbre::HTML::Tag课程。可能还有其他/更好的解决方案,但过去对我有用的一件事是在ActiveAdmin中使用as:选项。

ActiveAdmin.register Tag, as: 'AwesomeTag' do

显然,副本的变化可能是理想的,但这是一个很好的故障排除步骤。另一种方法是重命名Tag模型,或尝试命名它。