我在view / users中的new.html.erb代码:
<h1>Sign Up</h1>
<%= simple_form_for(@user) do |f| %>
<%= f.input :username %>
<%= f.input :password %>
<%= f.input :password_confirmation %>
<%= f.button :submit %>
<% end %>
这是错误:
undefined method `simple_form_for' for #<#<Class:0x9f9b568>:0xaa02440>
我知道这个错误要求:
def simple_form_for
end
但问题在于放在哪里。 这也是我的users_controller.rb:
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
答案 0 :(得分:3)
这根本不是它所期待的。
simple_form_for
表示您的应用期望使用简单表单(https://github.com/plataformatec/simple_form)gem,它为您的表单提供了使用方法。您应该通过将gem添加到Gemfile中来安装gem,或者重写您的表单以使用Rails表单助手而不是简单表单。
答案 1 :(得分:1)
如果找不到方法,但您已经安装了gem。在这种情况下,我想你忘了重启服务器。重新启动服务器,它将工作。
答案 2 :(得分:1)
Gemfile:gem'bootstrap-sass'
gem'simple_form'
你必须有一个bootstrap设置 “rails生成simple_form:install --bootstrap”
答案 3 :(得分:0)
你的proplem是rails simple_form_for
你可以试试form_for
并阅读更多http://guides.rubyonrails.org/getting_started.html
答案 4 :(得分:0)
错误基本上是说simple_form_for
方法不可用(如您所知)。
解决方案是确定该方法的 以及如何使用该方法。
错误是由简单表单在您的应用中无法使用引起的。
要包含它,您只需添加gem:
#Gemfile
gem 'simple_form'
-
如果您没有安装simple_form
gem,您将能够通过使用Rails'form_for
来解决这个问题:
<%= form_for @user do |f| %>
<%= f.text_field :username %>
<%= f.password_field :password %>
<%= f.password_field :password_confirmation %>
<%= f.submit %>
<% end %>