Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 未初始化的常量用户::CompanyRate_Ruby On Rails - Fatal编程技术网

Ruby on rails 未初始化的常量用户::CompanyRate

Ruby on rails 未初始化的常量用户::CompanyRate,ruby-on-rails,Ruby On Rails,我是rails的新手。我正在尝试生成一个页面表单。但是我犯了这个错误 我不明白我的问题在哪里 这是显示错误,并在此行中突出显示 @companies_rates =@user.companies_rates 这里我将有userpage、Companys_rate和page3,其中每个页面都有用户id,Companys rate有一列,第3页中也有相同的列。现在我要分别显示公司的费率和第3页 NameError in UsersController#show uninitialized co

我是rails的新手。我正在尝试生成一个页面表单。但是我犯了这个错误

我不明白我的问题在哪里

这是显示错误,并在此行中突出显示

@companies_rates =@user.companies_rates
这里我将有userpage、Companys_rate和page3,其中每个页面都有用户id,Companys rate有一列,第3页中也有相同的列。现在我要分别显示公司的费率和第3页

NameError in UsersController#show 

uninitialized constant User::CompaniesRate 

 @user = User.find(params[:id])
@companies_mines= @user.companies_mines
**@companies_rates =@user.companies_rates**
@title=@user.name
end
这是我的用户控制器

class UsersController < ApplicationController
  before_action :signed_in_user,
                only: [:index, :edit, :update, :destroy, :following, :followers]
  before_action :correct_user,   only: [:edit, :update]
  before_action :admin_user,     only: :destroy

  def index
    @users = User.paginate(page: params[:page])

  end

  def show
    @user = User.find(params[:id])
    @companies_mines= @user.companies_mines
    @companies_rates =@user.companies_rates
    @title=@user.name

  end



  def new
    @user = User.new
  end

  def create
    @user = User.new(user_params)
    if @user.save
      sign_in @user
      flash[:success] = "Welcome to skillable"
      redirect_to @user

    else
      render 'new'

    end
  end

  def edit
    @user = User.find(params[:id])
  end

  def update
    @user = User.find(params[:id])

    if @user.update_attributes(user_params)
      flash[:success] = "Profile updated"
      redirect_to @user

    else
      render 'edit'
    end
  end

  def destroy
    User.find(params[:id]).destroy
    flash[:success] = "User destroyed."
    redirect_to users_url

end


  private

    def user_params
      params.require(:user).permit(:name, :email, :password,
                                   :password_confirmation)
    end

    # Before filters

    def correct_user
      @user = User.find(params[:id])
      redirect_to(root_url) unless current_user?(@user)
    end

    def admin_user
      redirect_to(root_url) unless current_user.admin?
    end
  end
class CompaniesRatesController < ApplicationController
  before_action :signed_in_user, only: [:create, :destroy]
  before_action :correct_user,   only: :destroy


 def index
        @companies_rates = companies_rates.all
    end

    def show
        @companies_rates  = companies_rate.find(params[:id])
    end

    def new
        @companies_rates  = companies_rates.new
    end

    def create
        @companies_rates  = companies_rates .new(params[:company,:r1,:r2,:r3])

        if @post.save
            redirect_to companies_rates _path,  :notice => "Your post was saved"
        else
            render "new"
        end
    end

    def edit

    end

    def update

    end

    def destroy

    end

    private

    def companies_rates_params
      params.require(:companies_rates).permit(:company, :r1, :r2, :r3 )
    end

    def correct_user
      @companies_rates = current_user.companies_rates.find_by(id: params[:id])
      redirect_to root_url if @ompanies_rates.nil?
    end
end
class UsersController
这是我公司的费率管理员

class UsersController < ApplicationController
  before_action :signed_in_user,
                only: [:index, :edit, :update, :destroy, :following, :followers]
  before_action :correct_user,   only: [:edit, :update]
  before_action :admin_user,     only: :destroy

  def index
    @users = User.paginate(page: params[:page])

  end

  def show
    @user = User.find(params[:id])
    @companies_mines= @user.companies_mines
    @companies_rates =@user.companies_rates
    @title=@user.name

  end



  def new
    @user = User.new
  end

  def create
    @user = User.new(user_params)
    if @user.save
      sign_in @user
      flash[:success] = "Welcome to skillable"
      redirect_to @user

    else
      render 'new'

    end
  end

  def edit
    @user = User.find(params[:id])
  end

  def update
    @user = User.find(params[:id])

    if @user.update_attributes(user_params)
      flash[:success] = "Profile updated"
      redirect_to @user

    else
      render 'edit'
    end
  end

  def destroy
    User.find(params[:id]).destroy
    flash[:success] = "User destroyed."
    redirect_to users_url

end


  private

    def user_params
      params.require(:user).permit(:name, :email, :password,
                                   :password_confirmation)
    end

    # Before filters

    def correct_user
      @user = User.find(params[:id])
      redirect_to(root_url) unless current_user?(@user)
    end

    def admin_user
      redirect_to(root_url) unless current_user.admin?
    end
  end
class CompaniesRatesController < ApplicationController
  before_action :signed_in_user, only: [:create, :destroy]
  before_action :correct_user,   only: :destroy


 def index
        @companies_rates = companies_rates.all
    end

    def show
        @companies_rates  = companies_rate.find(params[:id])
    end

    def new
        @companies_rates  = companies_rates.new
    end

    def create
        @companies_rates  = companies_rates .new(params[:company,:r1,:r2,:r3])

        if @post.save
            redirect_to companies_rates _path,  :notice => "Your post was saved"
        else
            render "new"
        end
    end

    def edit

    end

    def update

    end

    def destroy

    end

    private

    def companies_rates_params
      params.require(:companies_rates).permit(:company, :r1, :r2, :r3 )
    end

    def correct_user
      @companies_rates = current_user.companies_rates.find_by(id: params[:id])
      redirect_to root_url if @ompanies_rates.nil?
    end
end
class CompanyRatesController“您的帖子已保存”
其他的
呈现“新”
终止
终止
定义编辑
终止
def更新
终止
def销毁
终止
私有的
def公司费率参数
参数要求(:公司\费率)。允许(:公司,:r1,:r2,:r3)
终止
def正确的用户
@公司费率=当前用户。公司费率。查找方式(id:params[:id])
如果@ompanies\u rates.nil,是否重定向到root\u url?
终止
终止
这是我的手机

class User < ActiveRecord::Base
  attr_accessor :password
  #attr_accessible :name, :email, :password, :password_confirmation

  has_many :companies_mines
  has_many :companies_rates
  before_save { self.email = email.downcase }
  before_create :create_remember_token
  validates :name, presence: true, length: { maximum: 50 }
  VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z/i
  validates :email, presence: true, format: { with: VALID_EMAIL_REGEX },
                    uniqueness: { case_sensitive: false }
  has_secure_password
  validates :password, length: { minimum: 6 }

  def User.new_remember_token
    SecureRandom.urlsafe_base64
  end

  def User.encrypt(token)
    Digest::SHA1.hexdigest(token.to_s)
  end


  private

    def create_remember_token
      self.remember_token = User.encrypt(User.new_remember_token)
    end
end
class用户
这是我的工资单

class CompaniesRates < ActiveRecord::Base
    #attr_accessible :company, :r1, :r2, :r3

    belongs_to :user
  validates :company, presence: true, length: { maximum: 140 }
  validates :user_id, presence: true

  belongs_to :user
  default_scope :order => 'companies_rates.created_at DESC'


end
class CompanyRates'companys\u rates.created\u at DESC'
终止

有人能告诉我什么是我的问题以及如何解决它吗

将型号名称更改为CompanyRate。型号名称应为单数

如果可以,发布您的用户型号。您是否在用户和公司费率之间建立了关系?公司费率是否为模型?请使用更多信息更新您的问题。您好,我已添加了更多信息。