2013-01-05 27 views
1

我正在关注这个视频http://railscasts.com/episodes/258-token-fields-revised,我也成功实现了这一点。但是现在我正在使用命名空间。 我有资产文件夹内的文件夹雇员lends_controller。 这是我借给控制器如何在rails中定义has_and_belongs_to关联

class Employee::Asset::Lend 
    include Mongoid::Document 
    include Mongoid::Timestamps 
    field :name, type: String 
    field :text, type: String 
    field :date 
    field :asset_tokens 
    field :user_id, type: String 
    has_and_belongs_to_many :assets 
    belongs_to :tags 
def asset_tokens=(tokens) 
self.asset_ids = Asset.ids_from_tokens(tokens) 
end 
end 

现在我有另一个模型资产的模型。在那里,我必须确定有属于这个贷款模式还我这样做

class Asset 
    include Mongoid::Document 
    field :name, type: String 
    field :description, type: String 
    field :serial_number, type: String 
    field :status, type: Integer 
    field :tag_tokens 
    field :quantity, type: Integer 
    validates_presence_of :name 
    validates :serial_number,:uniqueness => true 

    has_and_belongs_to_many :employee_asset_lends 
    has_and_belongs_to_many :tags 

    def self.tokens(query) 
    assets = where(name: /#{Regexp.escape(query)}/i) 


    end 

形式借给控制器

<%= f.label :asset_tokens, "Assets" %> 
    <%= f.text_field :asset_tokens, data: {load: @employee_asset_lend.assets}%><br> 
    <%= f.input :date,:input_html => { :class => "dp1"},:label=> "Lend Date"%> 

coffescript文件中的lend.js.coffee

jQuery -> 
    $('#employee_asset_lend_asset_tokens').tokenInput '/assets.json' 
    theme: 'facebook' 
    prePopulate: $('#employee_asset_lend_asset_tokens').data('load') 

但它给出了错误uninitialized constant EmployeeAssetLend from asset views. 并从借出视图它给出了错误,如undefined method all_of'for Employee :: Asset:Module`

回答

2

请求者检查正确的方式使HABTM-has_and_belongs_to_many Assosiation更多详细信息

+0

我在其他模型中实现此关联。只是我很困惑适用于我的情况,因为我在这里使用命名空间。 – regmiprem

+0

你可以提及类名和类似'has_and_belongs_to_many:employee_asset_lends,:class_name =>'Employee :: Asset :: Lend',:dependent =>:destroy'的命名空间。并且对于表名self.table_name ='assets''和'employee_asset_lends' –

+0

它的工作原理,但它给出了出错控制器未定义的方法all_of雇员::资产:模块...在这里我有模型资产,但它是搜索雇员::资产:模块..我应该做什么属于资产模型? has_and_belongs_to_many:assets – regmiprem