Ruby on rails rails 4与范围和变量的一对一关系

Ruby on rails rails 4与范围和变量的一对一关系,ruby-on-rails,activerecord,model-associations,Ruby On Rails,Activerecord,Model Associations,它看起来像是获取foo_id并将其传递到范围中,但我希望在调用该方法时自己指定该数字。如果您需要更多信息,请告诉我。这样行吗 > Foo.first.bar(2) SQL => Foo Load (1.2ms) SELECT "foos".* FROM "foos" ORDER BY "foos"."id" ASC LIMIT 1 Bar Load (0.7ms) SELECT "bars".* FROM "bars" WHERE "bars"."foo_id" =

它看起来像是获取foo_id并将其传递到范围中,但我希望在调用该方法时自己指定该数字。如果您需要更多信息,请告诉我。

这样行吗

> Foo.first.bar(2)
SQL  =>  Foo Load (1.2ms)  SELECT  "foos".* FROM "foos"  ORDER BY "foos"."id" ASC LIMIT 1
  Bar Load (0.7ms)  SELECT  "bars".* FROM "bars" WHERE "bars"."foo_id" = ? 
AND "bars"."user_id" = 1 LIMIT 1  [["foo_id", 1]]
调用.first on Foo获取第一个Foo,然后尝试从那里向下搜索。如果第一个Foo不是你想要的,那么你什么也得不到

但是RoyTheBoy告诉你的是,如果你有用户id,那么你就有了用户,因此你应该能够通过以下方式获得你想要的Foo:

user_id = 2
Foo.bar(user_id)
既然你在找酒吧,你真的只需要

User.find(user_id).bar.foo

如果一个Foo只有一个条,而一个条属于一个用户,那么Foo肯定只与一个用户关联?
User.find(user_id).bar.foo
User.find(user_id).bar