2010-08-15 12 views
0

Je suis en train de créer un rubis sur des rails app pour capturer des données de forme et de créer un XML.I correspondant ont créé une classe de modèle factice qui ne prolonge pas enregistrement actifRuby on Rails et XML

Dois-je faire que .Below est le code et l'im d'erreur face plz aide

class RamOne 
    attr_accessor :name,:city 
    end 

contrôleur

 def start 
     @ramone = RamOne.new 
       end 

    def load_new 
     @ramone = RamOne.new(params[:ramone]) 
     if @ramone.save 
      redirect_to :action => ‘gen_xml’ 
     end 
    end 

    def gen_xml 
      @xml = Builder::XmlMarkup.new 
      @ramones = RamOne.find(:all) 
      render :layout => false 
    end 

Voir capture le nom, la ville et a une action soumettre ci-joint avec load_new

erreur: nombre incorrect d'arguments (1 pour 0) dans load_new qu'est-ce qui ne va pas?

+0

Pourquoi pas ActiveRecord? Qu'attendez-vous de l'enregistrer, trouver des appels à faire? –

Répondre

1

Vous ne pouvez pas appeler RamOne.new avec un argument car votre classe RamOne ne remplace pas la méthode initialize. En outre, @ ramone.save et RamOne.find sont toutes des méthodes ActiveRecord, donc je pense que vous devez étendre ActiveRecord :: Base dans votre classe RamOne.

0

Puis-je me débarrasser de la classe modèle

et stocker mes données capturées dans une classe rubis normale et aller chercher de pour créer le xml .sont t-il des méthodes d'aide disponibles

similaire à form_for () aide

<% form_for :ramone, @ramone, :url => { :action => "load_new" }, :html => { :method => :get } do |f| %> 

puis-je trouver d'autres méthodes non ActiveRecordHelper

Je ne veux pas la classe modèle un nécessairement.