Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 未定义的方法'的“简单形式”;在RoR应用程序中_Ruby On Rails_Ruby On Rails 3_Simple Form - Fatal编程技术网

Ruby on rails 未定义的方法'的“简单形式”;在RoR应用程序中

Ruby on rails 未定义的方法'的“简单形式”;在RoR应用程序中,ruby-on-rails,ruby-on-rails-3,simple-form,Ruby On Rails,Ruby On Rails 3,Simple Form,我一直在浏览stack overflow,我注意到许多人使用简单的表单来简化他们的生活 我想尝试一下,所以我将gem添加到我的gem文件中(gem'simple_form'),并发送: rails generate simple_form:install --bootstrap 阅读安装消息后,我使用自述文件中的示例代码创建了一个视图: <%= simple_form_for @user do |f| %> <%= f.input :username %> &l

我一直在浏览stack overflow,我注意到许多人使用简单的表单来简化他们的生活

我想尝试一下,所以我将gem添加到我的gem文件中(
gem'simple_form'
),并发送:

rails generate simple_form:install --bootstrap
阅读安装消息后,我使用自述文件中的示例代码创建了一个视图:

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

不幸的是,我在尝试加载页面时出现了以下错误:

undefined method `simple_form_for' for #<#<Class:0x69dd688>:0x6903ac8>
未定义的方法'simple\u form\u for'#

有什么好处?它怎么连方法都认不出来?我觉得我错过了一些很简单的东西。可能是因为我在使用引导式sass吗?是否需要在用户控制器中包含帮助程序?

是否重新启动了服务器? 始终记住,在安装gem或插件之后。
始终重新启动服务器

这一切都是因为您在安装了新库(如simple_form、Desive等)后没有重新启动服务器


尝试停止服务器并重新启动它。你的代码很完美!。我遇到过好几次。解决方案就是重新启动服务器

您必须在安装
simple\u form
gem.

后重新启动服务器。对于任何初学者。如果忘记安装
simple\u form
,则会发生此错误。若要更正,请将其添加到您的GEM文件中

gem 'simple_form'

bundle install

来总结上面的所有可能性,希望此列表对其他gem也有用

  • 检查
    simple\u表单
    gem是否安装正确

    Gemfile
    Gemfile.lock
    中找到gem。另一种方法是在终端中运行此命令:
    bundle list | grep simple_form

  • 如果输出为空

    您的项目中可能尚未安装
    simple\u form
    。因为gem是一个外部gem,所以它不包括在Rails框架中。Rails有自己的表单库(又称
    form\u with
    form\u for

    要将
    simple\u form
    添加到项目中,请打开gem文件并添加
    gem'simple\u form'
    ,然后在终端
    捆绑安装中运行命令

  • 如果输出不是空的

    检查是否已重新启动服务器

  • 重新启动服务器后,仍然无法访问
    SimpleForm
    constant

    检查gem文件中的gem是否设置为
    require:false
    。如果是,请卸下此部件并运行
    捆绑安装

  • 您可以通过在终端中键入
    rails-console
    rails-c
    来检查gem是否是从rails-console加载的

    加载控制台后,键入
    SimpleForm
    并按Enter键。如果有一些错误抱怨常量未定义,请参阅前面的步骤进行修复


  • 安装
    simple\u form
    gem后是否重新启动了服务器?doh!当然我知道这是很愚蠢的事情。谢谢。与投票最多和更老的答案相比,这没有提供任何额外的见解。与投票最多和更老的答案相比,这没有提供任何额外的见解。