私はこのビデオhttp://railscasts.com/episodes/258-token-fields-revisedをフォローしており、これも正常に実装しています。しかし今、私は名前空間を使用しています。アセットフォルダー内のフォルダーemployee内にlends_controllerがあります。これは私の貸し出しコントローラーのモデルです
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"%>
lend.js.coffeeのcoffescriptファイル内
jQuery ->
$('#employee_asset_lend_asset_tokens').tokenInput '/assets.json'
theme: 'facebook'
prePopulate: $('#employee_asset_lend_asset_tokens').data('load')
ただし、エラーが発生し、lendビューからは、Employee :: Asset:Module`のall_of'のuninitialized constant EmployeeAssetLend from asset views.
ようなエラーが発生します。undefined method