Ciao a tutti, ecco il mio problemino:
Stavo provando a fare qualche test con i modelli Tableless al fine di poterli poi integrare in webservices (ma poco importa).
Ora, seguendo questo post il giochetto sembra alquanto banale.
Il mio medello User si presenta così:
benissimo.codice:# models/user.rb class User < ActiveRecord::Base def self.columns @columns ||= [] end def self.column(name, sql_type = nil, default = nil, null = true) columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null) end # Manually define the columns used by this model column :id, :integer column :email, :string column :password, :string # Override the save method to prevent exceptions. def save(validate = true) validate ? valid? : true end end
A questo punto faccio una piccola verifica e provo a creare un nuovo oggetto:
http://localhost:3001/users/new -> inserisco i miei dati fittizi ed invio il form.
Vengo dunque ridirezzionato al metodo show con questo risultato: "ActiveRecord::ActiveRecordError: no such table: users: SELECT * FROM users LIMIT 1"
Capisco che non può eseguire il find ma come posso raggiungere e visualizzare l'oggetto tableless appena istanziato?codice:#controllers/users_controller.rb def show @user = User.find(params[:id]) respond_to do |format| format.html # show.html.erb format.xml { render :xml => @user } end end
[Rails 2.3.3, Ruby 1,8,6]

Rispondi quotando