hola chicos quiero hacer una consulta a la tabla category que es asi
class CreateCategories < ActiveRecord::Migration
def self.up
create_table :categories do |t|
t.string :name
t.text :description
t.integer :user_id
t.integer :product_id
t.timestamps
end
add_index “categories”, [“user_id”,“product_id”], :name =>
“cat_alt_key”, :unique => true
Category.create :name => "futuro", :user_id => 1
Category.create :name => "acciones", :user_id => 1
Category.create :name => "cestas", :user_id => 2
Category.create :name => "otros", :user_id => 2
para ello en este controlador en el metodo index tengo esto
def index
#render :inline => “<%= debug (params)%>”
valor= params[:user_id]
@category = Category.find_by_user_id(valor)
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @categories }
end
end
user_id viene de otro controlador cuando lo pruebo con
render :inline => “<%= debug (params)%>” y tiene el parametro que quiero
ese valor lo guardo en “valor” y con eso hago la busqueda en la base de
datos, que creo que es lo que me esta fallado pero nose porque?? ya que
yo puedo hacer una busqueda con user_id por tenerlo en el modelo
el error que me da es que me dice que estoy evaluando un objeto vacio.
si cambio @category = Category.find_by_user_id(valor) por
@category = Category.find_by_user_id(1) me devuelve solo un valor es
decir futuro
pero no me deberia devolverme los dos que tienen el user_id=1
muchas gracias a todos por su ayuda
saludos maite