form_for方法不起作用

问题描述 投票:0回答:2

您刚刚开始学习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 %>   

路线:

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

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

  resources :user
end

它显示我错误enter image description here

你能否纠正我的错误?

ruby-on-rails forms
2个回答
1
投票

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


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

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

© www.soinside.com 2019 - 2024. All rights reserved.