gpt4 book ai didi

ruby-on-rails - 路由错误未初始化常量 ContactFormsController

转载 作者:太空宇宙 更新时间:2023-11-03 17:31:54 25 4
gpt4 key购买 nike

我正在尝试制作我的第一个 Rails 应用程序,但遇到了路由问题。我的 routes.rb 是:

Rails.application.routes.draw do
resources :users
resources :sessions, only: [:new, :create, :destroy]
resources :contact_forms, only: [:new, :create, :destroy]
root 'static_pages#home'
match '/', to: 'static_pages#home', via: 'post'
match '/manager', to: 'static_pages#manager', via: 'get'
match '/manager', to: 'sessions#create', via: 'post'
match '/signin', to: 'sessions#new', via: 'get'
match '/signout', to: 'sessions#destroy', via: 'delete'
end

我的 contact_form_controller.rb 是:

class ContactFormController < ApplicationController

def new
@contact_form = ContactForm.new
end

def create
@contact_form = ContactForm.new message_params
@contact_form.save
redirect_to root_path, notice: "Saved"
end

private
def contact_form_params
params.require(:contact_form).permit(:name, :phone, :email, :text)
end
end

我的 new.html.erb 文件是:

<%= form_for @contact_form do |f| %>
<%= f.text_field :name %>
<%= f.text_field :phone %>
<%= f.text_field :email %>
<%= f.text_field :text %>
<%= f.submit %>
<% end %>

怎么了?谢谢

最佳答案

uninitialized constant ContactFormsController

您应该将 Controller 类名ContactFormController更改为ContactFormsController,并将文件名更改为 contact_forms_controller.rb

此外,在您的代码中,您需要在 create 中将 @contact_form = ContactForm.new message_params 更改为 @contact_form = ContactForm.new contact_form_params避免任何进一步问题的方法。

此外,当您尝试创建您的第一个应用程序时,我建议您遵循这些 Guides

关于ruby-on-rails - 路由错误未初始化常量 ContactFormsController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32843902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com