Rails передают ID в поле зрения, чтобы избежать - неопределенный метод `create_at 'для nil: NilClass - PullRequest
0 голосов
/ 19 февраля 2020

В моем контроллере есть действие, которое позволяет мне воспроизвести исходное сообщение из папки входящих сообщений:

def create
  original_message = current_user.inbox.messages.find_by(id: params[:original_message_id])

  inbox = if original_message.created_at > 3.days.ago 
             original_message.moderator.inbox
          else
             original_message.admin.inbox
          end

  @message = Message.create(
    inbox: inbox
    body: params[:message][:body]
  )
end

Если исходное сообщение будет старше 3 дней, ответ должен поступить модератору. исходящие, в другом случае - go в исходящие сообщения администратора.

В messages/show.html.erb У меня есть:

<%= link_to "Reply", new_message_path, class: "btn-primary" %>

new.html.erb

<%= form_for @message do |f| %>
    <%= f.text_area :body, class: "form-control", rows: 3 %>
    <%= f.submit 'Send Message', class: 'btn btn-primary' %>
<% end %>

Как обработать такого рода действия в представлении, чтобы получить этот исходный идентификатор сообщения и ответить на него? С помощью приведенного выше кода у меня появляется ошибка:

неопределенный метод `create_at 'для nil: NilClass

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...