私はこの問題の解決策を見つけることができませんでした。これまでに聞かれた多くの質問に似ていますが、私の場合は何かが違うと思います。現在、次のエラーが発生しています。
NameError in Account#show
uninitialized constant Account::AccountProces
私の見解ではエラーがスローされています:
<%@account.account_process.each do |process|%>
Name: <%=process.name%><br/>
<%end%>
これで名前を確認しましたが、AccountProcesがAccountProcessである必要があることを除いて、すべてが一致しています。AccountProcesにが1つしかないことを示している理由がわかりません。ディレクトリ全体で1秒しかないものを検索しました。私はまだ何も見つけていません。これが私のモデルです:
class AccountProcess < ActiveRecord::Base
attr_accessible :account_id, :name
validates :account_id, presence: true
validates :name, presence: true
belongs_to :account
def as_json options={}
{
id: id,
name: name,
open_count: open_count,
created_at: created_at,
update_at: updated_at
}
end
end
これが私の移行です:
class CreateAccountProcesses < ActiveRecord::Migration
def change
create_table :account_processes do |t|
t.references :account
t.string :name, :null => false, :default => ""
t.timestamps
end
end
end
これが私の簡略化されたアカウントモデルです:
class Account < ActiveRecord::Base
attr_accessible :computer_id, :allotted_time, :domain, :tracking, :used_time, :username, :account_process_attributes
validates :username, :presence => true
validates :computer_id, :presence => true
has_many :account_process, :dependent => :destroy
accepts_nested_attributes_for :account_process
def as_json options={}
{
id: id,
computer_id: computer_id,
domain: domain,
username: username,
tracking: tracking,
account_process_attributes: account_process,
created_at: created_at,
update_at: updated_at
}
end
end
それがこの問題を引き起こすと私が考えることができるすべてであるはずです。履歴やプログラムなど、アカウントに関連する他の属性があります。これらはアカウントプロセスとほぼ同じであり、エラーをスローしません。ビューと、RESTAPIを使用してデータベースに保存しようとしたときにこのエラーがスローされます。