未初始化的常量CustomersController - Rails

时间:2016-11-28 23:12:18

标签: ruby-on-rails ruby

我在Rails应用中遇到路由问题。当我尝试按照指向new_customer_path的链接时出现此错误:

uninitialized constant CustomersController

这是我想要关注的链接。它是在"新"我的电影控制器的页面。以下是" new"的相关部分。页面:

<div class="row">
<div class="col-xs-12">
    <hr />
    <%= link_to "Add Customer", new_customer_path, class: 'white' %>
</div>
</div>

客户控制人:

class CustomerController < ApplicationController
  def new
    @customer = Customer.new 
  end

  def create
    @customer = Customer.new(customer_params)
    if @customer.save 
      redirect_to new_customer_path
    end 
  end

  private 

   def customer_params
    params.require(:customer).permit(:fname, :lname, :telephone, :email)
   end

end 

路线:

Rails.application.routes.draw do
  resources :customers

  resources :movies do 
    resources :rentals
  end 
  root 'movies#new'
end

客户模式:

 class Customer < ApplicationRecord
    has_many :rentals 
 end

非常感谢任何想法/提示!

1 个答案:

答案 0 :(得分:4)

您是否错过了s

class CustomerController < ApplicationController应为class CustomersController < ApplicationController

Rails是配置的惯例,意思是:

  • 模型是单数的:Object
  • 控制器为复数:ObjectsController

如果你愿意,可以改变这种情况,但除非你有充分的理由,否则我会坚持使用惯例。