2017-01-18 3 views
0

Я реализовал паранойю на модели («Туры»), которая работает в разработке, но не в производстве на героку. На сайте heroku я вижу (ожидаемую пустую) индексную страницу, но когда я перехожу в/stays/new, появляется страница с ошибкой.«Создать» не работает с ruby ​​paranoia на heroku

Проверка журналов, я нахожу это:

2017-01-18T03:31:49.546164+00:00 app[web.1]: [d5ce2502-2cb9-4b1d-9888-f2990881bbb4] Completed 500 Internal Server Error in 16ms (ActiveRecord: 4.3ms) 
    2017-01-18T03:31:49.547115+00:00 app[web.1]: [d5ce2502-2cb9-4b1d-9888-f2990881bbb4] ActiveModel::UnknownAttributeError (unknown attribute 'deleted_at' for Stay.): 
    2017-01-18T03:31:49.547194+00:00 app[web.1]: [d5ce2502-2cb9-4b1d-9888-f2990881bbb4] app/controllers/stays_controller.rb:14:in `new' 

В приложение/контроллеры/stays_controller.rb, вот первые 15 строк.

class StaysController < ApplicationController 
     before_action :set_stay, only: [:show, :edit, :update, :destroy] 
     before_action :correct_user, only: [:edit, :update, :destroy] 
     before_action :authenticate_user!, except: [:index, :show] 

     def index 
     @stays = Stay.all.order("created_at DESC") 
     end 

     def show 
     end 

     def new 
     @stay = current_user.stays.build #Stay.new 
     end 

В Gemfile:

gem 'paranoia', '~> 2.2' 

В приложение/модели/stay.rb:

class Stay < ApplicationRecord 
    belongs_to :user 
    acts_as_paranoid 
end 

Я бежал heroku run rake db:migrate так толкая к Heroku, но не повезло. Любая идея, почему это работает локально для разработки, но не для героику для производства?

ответ

0

После миграции вы должны выполнить перезапуск heroku с момента запуска приложения в рабочем режиме. Heroku кэширует схему db перед выполнением любых миграций. Таким образом, перезапуск приложения будет обновлять схему.

Просто запустите, и ваша проблема не должна сохраняться.

heroku restart 

 Смежные вопросы

  • Нет связанных вопросов^_^