поэтому я havent нашел много документации об использовании условий на activerecord, чтобы найти методы для связанных моделей, но я нашел множество примеров. хотя никто из них, похоже, не работает для меня.activerecord найти условия для связанных моделей
user has_one avatar
avatar belongs_to user
Avatar.find(:all, :include => :user, :conditions => {:user => {:login => 'admin'}})
возвращает смехотворно долго ошибка
SQLite3::SQLException: no such column: user.login: SELECT "avatars"."id" AS t0_r0, "avatars"."user_id" AS t0_r1, "avatars"."featured" AS t0_r2, "avatars"."avatar_file_name" AS t0_r3, "avatars"."avatar_content_type" AS t0_r4, "avatars"."avatar_file_size" AS t0_r5, "avatars"."created_at" AS t0_r6, "avatars"."updated_at" AS t0_r7, "users"."id" AS t1_r0, "users"."login" AS t1_r1, "users"."email" AS t1_r2, "users"."crypted_password" AS t1_r3, "users"."password_salt" AS t1_r4, "users"."persistence_token" AS t1_r5, "users"."perishable_token" AS t1_r6, "users"."login_count" AS t1_r7, "users"."failed_login_count" AS t1_r8, "users"."last_request_at" AS t1_r9, "users"."current_login_at" AS t1_r10, "users"."last_login_at" AS t1_r11, "users"."current_login_ip" AS t1_r12, "users"."last_login_ip" AS t1_r13, "users"."created_at" AS t1_r14, "users"."updated_at" AS t1_r15 FROM "avatars" LEFT OUTER JOIN "users" ON "users".id = "avatars".user_id WHERE ("user"."login" = 'admin')
я попробовал множество других моделей, включая
:conditions => "user.login == 'admin'"
, но ничего не работает.
это приложение с рельсами 2.3.8, но также установлено rails3. поэтому у меня есть activerecord 3.0.0 & 2.3.8 установлен. Я думал, что это может быть проблемой, но это кажется маловероятным.
Есть ли у пользователя поле под названием login? – 2010-09-19 18:33:09
не забудьте найти полезные ответы и проверить ответ, который наилучшим образом отвечает на ваш вопрос. –