因此,当信息输入不正确时,我试图让一个错误框出现在我的注册页面上,但由于某种原因,它出现了一个模板缺失错误。
下面是完整的错误消息
Missing template users/create, application/create with {:handlers=>[:erb, :builder], :formats=>[:html], :locale=>[:en, :en]}. Searched in: * "/Users/chris/rails/demo_app/app/views"它看起来像是试图在应用程序中创建一个名为create的新文件,但我真的不确定它为什么要这么做?
这是我的users_controller.rb
def new
@user = User.new
@title = "Sign up"
end
def create
@user = User.new(params[:user])
if @user.save
flash[:success] = "Welcome to the Sample App!"
redirect_to @user
else
@title = "Sign up"
render = 'new'
end
end
end这是我的_error_messages.html.erb
<% if @user.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@user.errors.count, "error") %>
prohibited this user from being saved:</h2>
<p>There were problems with the following fields:</p>
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>我真的不确定要列出的其他文件,所以如果我错过了任何重要的东西,请让我知道!
谢谢:)
克里斯
发布于 2012-02-29 05:33:36
Render是一个函数,而不是一个变量,所以你不想说render = 'new',你想把字符串‘render = 'new'’传递给render函数,所以render 'new'应该工作得很好。这是学习Ruby的难点,缺少括号有时会让人们对变量和函数感到困惑。
发布于 2012-02-29 05:30:58
而不是
render = 'new'尝试使用:
render :action => 'new'https://stackoverflow.com/questions/9490020
复制相似问题