Я пытаюсь развернуть приложение rails chat для Heroku, но мой javascript не может выполнить вызов базы данных во время прекомпиляции ресурса. Пуш не удается с «Прекомпиляция ресурсов не удалась».
По следу я нахожу
remote: Caused by:
remote: PG::UndefinedTable: ERROR: relation "chatrooms" does not exist
remote: LINE 1: SELECT "chatrooms".* FROM "chatrooms"
После некоторого исследования я обнаружил, что Chatroom.all.each
- это то, чтовызывает проблемы.
Канал (на стороне клиента):
// my-app/app/assets/javascripts/channels/chatroom.js.erb
//Iterate through chatrooms
<% Chatroom.all.each do |chatroom| %>
App['chatroom' + <%= chatroom.id %>] = App.cable.subscriptions.create({channel: "ChatroomChannel", room: <%= chatroom.id %>},{
received: function(data) {
...
};
});
<% end %>
Так что я не могу получить доступ к модели чата во время прекомпиляции. Что-то нужно добавить в мой файл production.rb ? Приложение отлично работает в моей локальной среде.