首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NoMethodError in Users#new "undefined method `simple_form_for‘for #<#<Class:0x9f9b568>:0xaa02440>“

NoMethodError in Users#new "undefined method `simple_form_for‘for #<#<Class:0x9f9b568>:0xaa02440>“
EN

Stack Overflow用户
提问于 2015-12-16 12:59:58
回答 5查看 922关注 0票数 2

我在视图/用户中的new.html.erb代码:

代码语言:javascript
运行
复制
 <h1>Sign Up</h1>

 <%= simple_form_for(@user) do |f| %>
 <%= f.input :username %>
 <%= f.input :password %>
 <%= f.input :password_confirmation %>
 <%= f.button :submit %>
 <% end %>

这是错误:

代码语言:javascript
运行
复制
 undefined method `simple_form_for' for #<#<Class:0x9f9b568>:0xaa02440>

我知道这个错误是什么意思:

代码语言:javascript
运行
复制
 def simple_form_for
 end

但问题是把它放在哪里。这也是我的users_controller.rb:

代码语言:javascript
运行
复制
 class UsersController < ApplicationController
     def new
          @user = User.new
     end

     def create
         @user = User.new(params[:user])
         if @user.save
             redirect_to @user, notice: 'User was successfully created.'
         else
             render action: "new"
         end
     end

     def show
         @user = User.find(params[:id])
     end
 end
EN

回答 5

Stack Overflow用户

发布于 2015-12-16 13:06:54

这根本不是它所期望的。

simple_form_for意味着您的应用程序期望拥有简单表单(https://github.com/plataformatec/simple_form) gem,它为您的表单提供了该方法。您应该通过将gem添加到Gemfile来安装gem,或者重写表单以使用Rails表单帮助器而不是简单的表单。

票数 3
EN

Stack Overflow用户

发布于 2015-12-18 13:10:39

如果找不到方法,但你已经安装了gem。在这种情况下,我认为您忘记了重新启动服务器。重新启动服务器,它就会正常工作。

票数 1
EN

Stack Overflow用户

发布于 2017-07-04 16:23:08

Gemfile: gem 'bootstrap-sass‘

代码语言:javascript
运行
复制
      gem 'simple\_form'

您必须设置引导"rails生成simple_form:install -- bootstrap“

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34304238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档