如何从视图中调用自定义模型?

时间:2011-01-28 18:58:10

标签: ruby-on-rails model

我不希望将任何内容保存到数据库中,因此创建了一个模型,如下所示:

class Calculation
  attr_accessor :name, :docket_num, :payments

  def calculate
    ...

我在控制器中将其称为:

class MainController < ApplicationController

  def calculator
    @calc = Calculation.new
  end

在我的视图中:

= form_for @calc do |f|
  .field
    = f.label :judgement_balance
    %br/
    = f.text_field :judgement_balance
    ...

但看起来我做错了,因为它返回了这个:

undefined method `model_name' for Calculation:Class

第一个问题:任何人都知道我错过了什么?

第二个问题:如何将params转移到第二个视图并执行计算并将任何内容保存到数据库?

1 个答案:

答案 0 :(得分:1)

如果您使用的是rails3:


class Calculation
  extend ActiveModel::Naming

  def name
    "Calculation"
  end
end

> c = Calculation.new
> c.model_name
 => "Calculation"

这应该让你的表格有效。我不明白您的第二个问题 - 您可以在提交表单时根据参数实例化一个新的计算对象并执行计算。