无法在heroku上使用Rails应用程序创建用户,但在localhost上运行完美

时间:2014-05-24 19:23:08

标签: heroku ruby-on-rails-4

所以我正在通过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

这些方法都不起作用吗?欢迎任何建议。

1 个答案:

答案 0 :(得分:0)

如果您检查页面,看起来您的提交按钮不在表单定义之内:

enter image description here