【问题标题】:rails 5 User.find(params[:user_id]) nill [closed]rails 5 User.find(params[:user_id]) nill [关闭]
【发布时间】:2017-10-19 00:00:45
【问题描述】:

我正在使用 rails 5.1.4 我无法在新建时访问其他类的即时类对象。

例如 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])a

说其他控制器。

请帮忙????

【问题讨论】:

  • 你能告诉我们调用User.find(params[:attorney_user_id]时返回的具体错误吗
  • params[:attorney_user_id] 是否真的设置了,它的值是多少?路由定义和控制器方法看起来如何?您用 Rails 4 和 5 标记了您的问题,您实际使用的是哪个版本?

标签: ruby-on-rails ruby ruby-on-rails-4 ruby-on-rails-5


【解决方案1】:

你为什么不只使用 id 来查找?

User.find(params[:id]) 

稍后使用 SEO 友好的 url,您将能够通过用户名找到用户。

【讨论】:

  • 我做了,它不会工作。行。但我通过 find_by(params[:attorney_user_id]) 解决了这个问题
  • 我要在 Rails 中学习 dat
猜你喜欢
  • 1970-01-01
  • 2014-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-07
  • 1970-01-01
相关资源
最近更新 更多