<main>':未初始化的常量ActiveRecord(NameError)</main>

时间:2013-05-20 17:19:54

标签: ruby-on-rails

我的Rails 3.2.13版本中有以下模型。我正在尝试使用它将数据插入我的数据库。

  class Financials < ActiveRecord::Base
    #attr_accessible :description, :stock
    attr_accessible :symbol, :cur_price
    sym = Financials.new(:symbol => test, :cur_price => 10)
    sym.save

  end

但是当我尝试运行代码时出现以下错误:

financials.rb:1:in'':未初始化的常量ActiveRecord(NameError)

我检查了SO并发现其他人有类似错误,他们建议我在环境中添加条目.rb ruby on rails pluralization help?

我将以下内容添加到environment.rb文件中:

  Inflector.inflections do |inflect|
      inflect.irregular 'financialss', 'financials'
  end

但确实解决了我的问题。提前致谢

1 个答案:

答案 0 :(得分:2)

您不在模型定义中创建新对象。您应该在控制器的create操作中执行此操作。

鉴于你的模特:

class Financial < ActiveRecord::Base
  attr_accessible :symbol, :cur_price

  # validations, methods, scope, etc.
end

您在控制器中创建新的Financial对象并重定向到相应的路径:

class FinancialsController < ApplicationController
  def create
    @financial = Financial.new(params[:financial])
    if @financial.save
      redirect_to @financial
    else
      render :new
    end
  end

  def new
    @financial = Financial.new
  end

  def show
    @financial = Financial.find(params[:id])
  end
end