如何在rails lib中包含多个模型

时间:2015-12-11 07:03:42

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

在我的/ lib中我有以下这个课程:

module Application
  class Post < ActiveRecord::Base
     attr_accessor :id

     def artilce_content
        post.articles.content
     end

     private
        def post
           Post.find(id)
        end
  end
end

但问题是article未定义。

NoMethodError: undefined method ziptag_type' for #<Application::Api::V2::Ziptag:0x00000008edc120>

问题是,如何在/ lib中使用或包含多个模型?我尝试在class User < ActiveRecord::Base; end

之上添加module
class Article < ActiveRecord::Base; end

module Application
  class Post < ActiveRecord::Base; end
        :
        :
        :
  end
end

但是没有用。

2 个答案:

答案 0 :(得分:0)

我得到了答案。它应该是:

class Article < ActiveRecord::Base; attr_accessor :column1, :other_column end

class Article < ActiveRecord::Base; end

现在,它对我很好。

答案 1 :(得分:0)

这里最好的方法是使用require。

require 'your_model'

在你的情况下,它应该是:

require 'article'

module Application
  class Post < ActiveRecord::Base
    attr_accessor :id

    def artilce_content
      post.articles.content
    end

    private
      def post
        Post.find(id)
      end
  end
end