没有路线匹配[GET]“/ students / new”

时间:2016-09-03 02:14:19

标签: ruby-on-rails ruby-on-rails-3

我正在尝试使用ROR创建基本表单。我在运行rails代码时遇到了这个问题。我从互联网上尝试了很多解决方案,但仍无法解决这个问题。我认为问题出在routes.rb文件中。你们能帮助我吗?并注意解释路由如何工作&什么时候我需要在routes.rb中写一些东西?我是rails btw的新手。我正在使用RubyMine IDE。感谢任何帮助!

应用程序/视图/生/ new.html.erb

<h1>SignUp</h1>
<hr>
<%= form_for @student do |f| -%>
  Firstname: <%= f.text_field :firstname %><br>
  Lastname: <%= f.text_field :lastname %>
  <%= f.submit %>
<%end -%>

应用程序/控制器/ students_controller.rb

class StudentsController < ApplicationController

  def index
  end

  def new
    @student = Student.new
  end

  def create
    @student = Student.new(params[:student])
    if @student.save
      redirect_to new_student_path
    end
  end

end

配置/ routes.rb中

Rails.application.routes.draw do
  get 'students#index'
  resources: Student
end

2 个答案:

答案 0 :(得分:1)

试试这个

resources :students

你提供了错误的路线

答案 1 :(得分:0)

您的路线存在语法错误。您的资源路径应该是

resources :students

请注意,您将复数形式的资源作为symbol传递给resources方法。

这会产生以下路线:

             students GET    /students(.:format)          students#index
                      POST   /students(.:format)          students#create
          new_student GET    /students/new(.:format)      students#new
         edit_student GET    /students/:id/edit(.:format) students#edit
              student GET    /students/:id(.:format)      students#show
                      PATCH  /students/:id(.:format)      students#update
                      PUT    /students/:id(.:format)      students#update
                      DELETE /students/:id(.:format)      students#destroy