2017-10-19 13 views
-3

私はレールを使用しています。5.1.4作成時に他のクラスのインスタントクラスオブジェクトにアクセスすることはできません。rails 5 User.find(params [:user_id])nill

例:User.find(params[:user_id])users_controller 同じ表に5種類のユーザーがあります。私はこの

class User < ApplicationRecord 
    after_create :assign_default_role 

    mount_uploader :avatars, AvatarsUploader 
    # :styles => { :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/images/:style/missing.jpg", 
    def assign_default_role 
    self.add_role(:user) if self.roles.blank? 
    end 

    belongs_to :lawfirm 
    has_many :mycases 
    has_many :mycasecomments 



     # Include default devise modules. Others available are: 
     # :confirmable, :lockable, :timeoutable and :omniauthable 
     devise :database_authenticatable, :registerable, 
      :recoverable, :rememberable, :trackable, :validatable 
end 

は今、私はUser.find(params[:attorney_user_id])

では、他のコントローラを言うにアクセスすることはできませんよなかった時点で 。

お願いします。

+3

'User.find(params [:attorney_user_id]' – Cyzanfar

+0

) 'params [:attorney_user_id]'が実際に設定されているかどうか、その値は何ですか?コントローラメソッドのように見える?あなたはあなたの質問にRails 4と5でタグを付けましたが、実際にどのバージョンを使用していますか? – spickermann

答えて

0

なぜあなたはidだけを使って見つけるのですか?

User.find(params[:id]) 

後でSEOフレンドリーなURLを使用すると、ユーザー名でユーザーを見つけることができます。

+0

私はそれを動作させませんでしたが、find_by(params [:attorney_user_id])を使ってその周りを回ります –

+0

レールで –