我的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
但确实解决了我的问题。提前致谢
答案 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