问题在show action rails 5

时间:2018-04-08 17:34:36

标签: ruby-on-rails

由于某些原因,我在帐户显示页面上显示相关记录时出现问题。

我有以下型号:

account.rb具有以下关联:belongs_to :plan
plan.rb具有以下关联:has_many :accounts

# accounts_controller.rb
def show
  @account = Account.find(params[:id])
  @account.plan = Plan.find_by(params[:plan_id])
end

当我尝试在帐户页面上显示计划名称时,它只显示第一个计划名称(即使我有多个计划,并且该帐户已正确设置plan_id。

即帐户1的plan_id为2但显示计划1的信息,其中帐户2的plan_id为1且显示正确的计划......

不知道我在哪里偏离航线,我们将不胜感激。

1 个答案:

答案 0 :(得分:1)

ActiveRecord/FinderMethods#find_by找到并返回与条件匹配的第一条记录,但为此您需要传递您要查找的属性和分配的值,在您的情况下,您只需要通过价值。

如果您计划获得该特定帐户的计划,那么Plan.find(id)就足够了。