我暂时收到此错误 我的student_controller.rb文件:
class StudentController < ApplicationController
def new
@student=Student.new
end
def create
@student=Student.new(params[:student])
if @student.save
redirect_to new_student_path
end
end
end
和我的new.html.erb文件:
student infos
<%= form_for Student.new do |f| %>
firstname:<%= f.text_field :firstname %> <br/>
lastname:<%= f.text_field :lastname %> <br>
<%= f.submit %>
<% end %>
student_controller.rb文件位于控制器文件夹中,new.html.erb文件位于/ views / student / 我的ruby版本是2.3.0p0,我的rails版本是5.0.0 请任何帮助 和我的routes.rb文件:
Rails.application.routes.draw do
resources :student
end
答案 0 :(得分:2)
尝试在students_controller.rb
中重命名您的控制器。注意学生是复数。
还从以下位置重命名班级名称:
class StudentController < ApplicationController
为:
class StudentsController < ApplicationController
修改强>
您可以按照以下方式编写创建操作:
def create
@student = Student.new(student_params)
if @student.save
redirect_to new_student_path
end
end
private
# Never trust parameters from the scary internet, only allow the white list through.
def student_params
params.require(:student).permit(:firstname, :lastname)
end
答案 1 :(得分:0)
<%= form_for Student.new do |f| %>
将提交StudentsController#create
行动。表格行动将是&#34; /学生&#34;并且相应的命名路线将是students_path,但您已为学生定义了单一路线
所以要么
将StudentController
重命名为StudentsController
,并将资源路由复数为resources :students
或
运行$ rake routes
,找到学生创建路径&amp;通过提供url参数覆盖自动表单操作生成
例如
<%= form_for Student.new, url: student_index_path do |f| %>