所以我正在通过Michael Hartl tut工作,这个应用程序在localhost上完美运行,但是当我部署到heroku时,它不会在我提交信息时创建用户。事实上,它只是坐在那里,好像我只是点击一个空屏幕,没有错误信息也没有重定向。我查看了heroku日志,没有例外,我可以看到被记录。我尝试更新控制器行为,但我得到相同的结果。这令人沮丧。
我的表单如下:
<div class="main-form">
<%= form_for(@user) do |f| %>
<%= render 'shared/error_messages'%>
<%= f.label :name %>
<%= f.text_field :name, class: "active" %><br/>
<%= f.label :email %>
<%= f.text_field :email %><br/>
<%= f.label :password %>
<%= f.password_field :password %><br/>
<%= f.label :password_confirmation %>
<%= f.password_field :password_confirmation %><br/>
</div>
<div class="actions">
<%= f.submit "create my account", class: "btn btn-lg btn-default" %>
</div>
<% end %>
我的控制器看起来像:
class UsersController < ApplicationController
def new
end
def show
@user = User.find(params[:id])
@title = @user.name
end
def create
@title = "welcome"
@user = User.new(user_params)
if @user.password_confirmation.empty? == false
@user.save
redirect_to user_path(@user)
else
render 'new'
end
end
private
def user_params
params.require(:user).permit(:name, :email, :password, :password_confirmation)
end
end
我也尝试过设置我的创建方法,如:
def create
@user = User.new(user_params)
if @user.save
redirect_to @user
else
render 'new'
end
end
这些方法都不起作用吗?欢迎任何建议。
答案 0 :(得分:0)
如果您检查页面,看起来您的提交按钮不在表单定义之内: