form_for方法不起作用

时间:2017-12-16 13:15:20

标签: ruby-on-rails forms

您刚刚开始学习rails并尝试使用form_for方法创建用户表单,但显示了一些意外错误

以下是我的代码 控制器:

class UserController < ApplicationController
    def new
        @user = User.new
    end
end

new.html.erb

<h1>New page</h1>

<%= form_for @user  do |f| %>
    <%= f.text_field :name %>
<% end %>   

rouutes:

Rails.application.routes.draw do
  root 'static#index'

  get '/about', to: 'static#about'

  resources :user
end

它显示我的错误 enter image description here

你能否纠正我的错误?

2 个答案:

答案 0 :(得分:1)

更改您的:
  resources :userresources :users 并在控制器中   class UserController < ApplicationControllerclass UsersController < ApplicationController
按照惯例,rails希望控制器名称为复数。希望这会有所帮助。

答案 1 :(得分:0)

按如下方式更改路线:

Rails.application.routes.draw do
  root 'static#index'
  get '/about', to: 'static#about'

  resources :users   # plural
end

你主要使用单数:

  

在没有引用ID的情况下查找。例如,您希望/ profile始终显示当前登录用户的配置文件。

Rails Routing from the Outside In 2.5 Singular Resources

另请注意,奇异资源映射到多个控制器。