Model não persistente (Sem ActiveRecord)

Olá pessoal boa noite.

Estou começando o desenvolvimento com Rails. Estou sem entender uma coisa, acho que a solução é simples mais ainda não encontrei resposta.

Estou tentando desenvolver uma aplicação simples, uma calculadora. Logicamente não vou precisar armazenar nada em banco. Então fiz o meu modelo da seguinte forma:


class Calculo

  include ActiveModel::Model

  attr_accessor :operando1, :operando2, :operacao

  validates_numericality_of :operando1, :operando2

  def tipo
    @operando1.class
  end

end

No controller fiz seguinte:

class CalculosController < ApplicationController

  def form
    @calculo = Calculo.new
  end

  def calcular
    @calculo = Calculo.new(params[:calculo])
    @tipo = @calculo.tipo
    render 'form'
  end

end

E na view:

<h1>Calculadora</h1>

<% @calculo.errors.each do |campo, erro| %>
    <%= "#{campo} - #{erro}" %>
<% end %>

<%= form_for(Calculo.new, url: {action: 'calcular'}) do |f| %>

    <%= f.label :operando1 %><br>
    <%= f.number_field :operando1 %><br>

    <%= f.label :operando2 %><br>
    <%= f.number_field :operando2 %><br>

    <%= f.label :operacao %> <br/>
    <%= f.select(:operacao, options_for_select([['Soma', '+'], ['Subtração', '-'], ['Multiplicação', '*'], ['Divisão', '/']])) %> <br/><br>

    <%= f.submit("Ok")%>

<% end %>

<% if !@tipo.nil? %>
    Resultado: <%=@tipo%>
<% end %>

Veja que no modelo tenho um método ‘tipo’ que retorna a classe do atributo @operando1. Esse ‘tipo’ é mostrado na visão quando o usuário envia o formulário no botão ok. O problema é que o tipo do operando sempre sai como String. O framework não deveria fazer a conversão para um tipo Number, já que eu estou utilizando o campo number_field?

Aguardo uma respota.