Heroku错误:ActionView :: Template :: Error(#<Message:0x007fc9df016930>的未定义方法'captcha')

Ctpelnar1988

在我的本地环境中一切正常。当我尝试部署到heroku并最初查看我的网站时,它给我以下错误:“很抱歉,出了点问题。如果您是应用程序所有者,请检查日志以获取更多信息。”

当我检查“ heroku日志”时,发现以下错误消息:ActionView :: Template :: Error(针对-Message:0x007fc9df016930-的未定义方法“验证码”)

HTML表单views / pages / index.html.erb

  <%= form_for(@message) do |f| %>
  <%= f.text_field :first_name, :class => "message_name_input message_input_default", :placeholder => " First Name" %>
  <br><br>
  <%= f.text_field :last_name, :class => "message_name_input message_input_default", :placeholder => " Last Name" %>
  <br><br>
  <%= f.text_field :email, :required => true, :class => "message_email_input message_input_default", :placeholder => " * Email" %>
  <br><br>
  <%= f.text_area :user_message, :required => true, :class => "message_user-message_input", :placeholder => " * Write a message" %><br><br>

  <%= f.text_field :captcha, :required => true, :class => "message_input_default", :placeholder => " * #{@a} + #{@b} = ?" %><br><br>

  <div id="RecaptchaField2"></div>

  <%= f.submit "Send", :class => "messages_submit_button" %>

  <% end %>

页面控制器

class PagesController < ApplicationController

  def index
    @message = Message.new

     @a = rand(9)

     @b = rand(9)
   session["sum"] = @a + @b
  end

end

讯息模型

class Message < ActiveRecord::Base
  validates :email, :user_message, presence: true
end

讯息控制器

class MessagesController < ApplicationController


  def show
  end

  def new
    @message = Message.new
  end

  def create
  @message = Message.new(message_params)
    if params[:message][:captcha].to_i == session["sum"] && @message.save
      UserMailer.welcome_email(@message).deliver_now
      redirect_to '/message_sent'
    else
      redirect_to '/'
    end
  end

    private
  def message_params
    return params.require(:message).permit(:first_name, :last_name, :email, :user_message, :captcha)
  end


end

迁移讯息

class CreateMessages < ActiveRecord::Migration
  def change
    create_table :messages do |t|
      t.string :first_name
      t.string :last_name
      t.string :email
      t.string :user_message
      t.string :captcha
      t.timestamps null: false
    end
  end
end

架构图

ActiveRecord::Schema.define(version: 20150712164426) do

  # These are extensions that must be enabled in order to support this database
  enable_extension "plpgsql"

  create_table "admins", force: :cascade do |t|
    t.string   "email",                  default: "", null: false
    t.string   "encrypted_password",     default: "", null: false
    t.string   "reset_password_token"
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
    t.integer  "sign_in_count",          default: 0,  null: false
    t.datetime "current_sign_in_at"
    t.datetime "last_sign_in_at"
    t.inet     "current_sign_in_ip"
    t.inet     "last_sign_in_ip"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  add_index "admins", ["email"], name: "index_admins_on_email", unique: true, using: :btree
  add_index "admins", ["reset_password_token"], name: "index_admins_on_reset_password_token", unique: true, using: :btree

  create_table "messages", force: :cascade do |t|
    t.string   "first_name"
    t.string   "last_name"
    t.string   "email"
    t.string   "user_message"
    t.string   "captcha"
    t.datetime "created_at",   null: false
    t.datetime "updated_at",   null: false
  end

end

路线

Rails.application.routes.draw do
  devise_for :admins
  resources :pages
  resources :messages
  resources :admins

  get '/' => 'pages#index'
  get '/new' => 'messages#new'
  post '/message_sent' => 'messages#create'
  get '/message_sent' => 'messages#show'
end

网站

http://ChrisPelnar.com
罗普·哈库琳(Roope Hakulinen)

也许您是在首次运行并包含该迁移首次添加了验证heroku run rake db:migrate在这种情况下,您需要使用以下命令重置数据库(请注意,这将清除所有数据

heroku pg:reset DATABASE

然后使用

heroku run rake db:migrate

在这些之后,验证码也应该在Heroku上可用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ActionView :: Template :: Error(#<User:0x007f35612a5448>的未定义方法`phone'):

来自分类Dev

ActionView :: Template :: Error(#<Order:0x007f4641e56198>的未定义方法`delivery_date'):

来自分类Dev

ActionView :: Template :: Error(未定义的方法...)在本地工作,但不适用于Heroku

来自分类Dev

Heroku生产-ActionView :: Template :: Error(#<Sprockets :: Manifest:number>的未定义方法“目录”)

来自分类Dev

Heroku ActionView::Template::Error(nil:NilClass 的未定义方法`name')

来自分类Dev

ActionView :: Template :: Error(nil:NilClass的未定义方法“ city”):

来自分类Dev

ActionView :: Template :: Error(未定义的方法“沉默”用于)

来自分类Dev

ActionView :: Template :: Error(nil:NilClass的未定义方法“ each”):?

来自分类Dev

ActionView :: Template :: Error:nil:NilClass的未定义方法'split'

来自分类Dev

ActionView :: Template :: Error(#<#<Class:0x007f423040d570>:0x007f42300dd170>的未定义方法`comment_cflags_path'

来自分类Dev

Ruby错误吗?导致ActionView :: Template :: Error-未定义的方法

来自分类Dev

我的测试失败,并显示ActionView :: Template :: Error:nil:NilClass错误的未定义方法“名称”?

来自分类Dev

ActionView :: Template :: Error(#<Guestbook:0x007fd39b7f0f50>的未定义方法`each'):

来自分类Dev

ActionView :: Template :: Error:#<Class:0x007f8b5d07e5c8>的未定义方法'latest'

来自分类Dev

Heroku / Devise抛出此错误:ActionView :: Template :: Error(无效的:protocol选项:0):

来自分类Dev

Ruby where子句返回nil对象?ActionView :: Template :: Error(nil:NilClass的未定义方法“ each”):

来自分类Dev

ActionView :: Template :: Error:类的未定义方法`SOMETHING_path'?

来自分类Dev

ActiveAdmin / Rspec-ActionView :: Template :: Error(nil:NilClass的未定义方法“ action_methods”)

来自分类Dev

ActionView :: Template :: Error:nil:NilClass的未定义方法'is_admin'

来自分类Dev

actionview :: template :: error(未定义的方法'html_safe'为nil:NilClass)

来自分类Dev

ActionView :: Template :: Error(nil:NilClass的未定义方法`page_param')

来自分类Dev

ActionView :: Template :: Error:nil:NilClass的未定义方法'is_admin'

来自分类Dev

actionview :: template :: error(nil:NilClass的未定义方法'html_safe')

来自分类Dev

耙子流产了!ActionView :: Template :: Error:nil:NilClass的未定义方法“挑战”

来自分类Dev

简单的脚手架放置:ActionView :: Template :: Error:未定义的方法`edit_user_path'

来自分类Dev

Rails 4 Devise,Pundit,Join Table ActionView :: Template :: Error(针对#<#<Class:0x37682f95>:0x6919b2b2>的未定义方法`task_definition_path'):

来自分类Dev

如何修复“未定义的方法‘空’?” 对于#<ContactInformation:0x007fc8be45cc98>:错误?

来自分类Dev

CakePHP错误:调用未定义的方法FlashComponent :: error()

来自分类Dev

为什么在Heroku上获取nil:NilClass的ActionView :: Template :: Error:undefined method`name'的错误信息

Related 相关文章

  1. 1

    ActionView :: Template :: Error(#<User:0x007f35612a5448>的未定义方法`phone'):

  2. 2

    ActionView :: Template :: Error(#<Order:0x007f4641e56198>的未定义方法`delivery_date'):

  3. 3

    ActionView :: Template :: Error(未定义的方法...)在本地工作,但不适用于Heroku

  4. 4

    Heroku生产-ActionView :: Template :: Error(#<Sprockets :: Manifest:number>的未定义方法“目录”)

  5. 5

    Heroku ActionView::Template::Error(nil:NilClass 的未定义方法`name')

  6. 6

    ActionView :: Template :: Error(nil:NilClass的未定义方法“ city”):

  7. 7

    ActionView :: Template :: Error(未定义的方法“沉默”用于)

  8. 8

    ActionView :: Template :: Error(nil:NilClass的未定义方法“ each”):?

  9. 9

    ActionView :: Template :: Error:nil:NilClass的未定义方法'split'

  10. 10

    ActionView :: Template :: Error(#<#<Class:0x007f423040d570>:0x007f42300dd170>的未定义方法`comment_cflags_path'

  11. 11

    Ruby错误吗?导致ActionView :: Template :: Error-未定义的方法

  12. 12

    我的测试失败,并显示ActionView :: Template :: Error:nil:NilClass错误的未定义方法“名称”?

  13. 13

    ActionView :: Template :: Error(#<Guestbook:0x007fd39b7f0f50>的未定义方法`each'):

  14. 14

    ActionView :: Template :: Error:#<Class:0x007f8b5d07e5c8>的未定义方法'latest'

  15. 15

    Heroku / Devise抛出此错误:ActionView :: Template :: Error(无效的:protocol选项:0):

  16. 16

    Ruby where子句返回nil对象?ActionView :: Template :: Error(nil:NilClass的未定义方法“ each”):

  17. 17

    ActionView :: Template :: Error:类的未定义方法`SOMETHING_path'?

  18. 18

    ActiveAdmin / Rspec-ActionView :: Template :: Error(nil:NilClass的未定义方法“ action_methods”)

  19. 19

    ActionView :: Template :: Error:nil:NilClass的未定义方法'is_admin'

  20. 20

    actionview :: template :: error(未定义的方法'html_safe'为nil:NilClass)

  21. 21

    ActionView :: Template :: Error(nil:NilClass的未定义方法`page_param')

  22. 22

    ActionView :: Template :: Error:nil:NilClass的未定义方法'is_admin'

  23. 23

    actionview :: template :: error(nil:NilClass的未定义方法'html_safe')

  24. 24

    耙子流产了!ActionView :: Template :: Error:nil:NilClass的未定义方法“挑战”

  25. 25

    简单的脚手架放置:ActionView :: Template :: Error:未定义的方法`edit_user_path'

  26. 26

    Rails 4 Devise,Pundit,Join Table ActionView :: Template :: Error(针对#<#<Class:0x37682f95>:0x6919b2b2>的未定义方法`task_definition_path'):

  27. 27

    如何修复“未定义的方法‘空’?” 对于#<ContactInformation:0x007fc8be45cc98>:错误?

  28. 28

    CakePHP错误:调用未定义的方法FlashComponent :: error()

  29. 29

    为什么在Heroku上获取nil:NilClass的ActionView :: Template :: Error:undefined method`name'的错误信息

热门标签

归档