0

我的 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检查并发现其他有类似错误的人,他们建议我在environment.rb ruby​​ on rails复数帮助中添加条目?

我在 environment.rb 文件中添加了以下内容:

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

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

4

1 回答 1

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
于 2013-05-20T17:38:37.250 回答