私はUser has_one Shop
&を持っていShop has_many Branches
ます。
私がこれを行うとき:
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
@shop = @user.shop
@branches = @shop.branches
end
...
@user
&@shop
インスタンス変数はビューで機能しますが、@branches
エラーが発生します:
undefined method `branches' for nil:NilClass
Application Trace | Framework Trace | Full Trace
app/controllers/users_controller.rb:13:in `show'
ただし、コントローラーで破棄@branches
すると:
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
@shop = @user.shop
end
...
....そしてビューでこれを使用します:
@shop.branches
....できます!@shop.branches
ビューで常に使用するのはちょっと面倒なので、単に使用することを好みます@branches
。