J S*_*olt 1 ruby ruby-on-rails
我在Rails应用程序中的路由遇到麻烦。当我尝试跟随指向new_customer_path的链接时出现此错误:
uninitialized constant CustomersController
Run Code Online (Sandbox Code Playgroud)
这是我要遵循的链接。它在我的电影控制器的“新”页面上。这是“新”页面的相关部分:
<div class="row">
<div class="col-xs-12">
<hr />
<%= link_to "Add Customer", new_customer_path, class: 'white' %>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
客户总监:
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
Run Code Online (Sandbox Code Playgroud)
路线:
Rails.application.routes.draw do
resources :customers
resources :movies do
resources :rentals
end
root 'movies#new'
end
Run Code Online (Sandbox Code Playgroud)
客户模型:
class Customer < ApplicationRecord
has_many :rentals
end
Run Code Online (Sandbox Code Playgroud)
任何想法/提示将不胜感激!
可能是您缺少了s吗?
class CustomerController < ApplicationController 应该 class CustomersController < ApplicationController
Rails是配置之上的约定,这意味着:
ObjectObjectsController如果您愿意,可以更改此设置,但是除非您有充分的理由,否则我会坚持约定。