неопределенный метод `coffeeprocess 'для nil: NilClass - PullRequest
0 голосов
/ 26 ноября 2018

Я получаю вышеуказанную ошибку при попытке сослаться на связанное значение из другой таблицы.

У меня есть две модели со связью один-ко-многим.

class Roast < ApplicationRecord
 has_one :processing

class Processing < ApplicationRecord
 belongs_to :roast

Я добавил столбец process_id в таблицу Roasts.

Roasts представляет отдельную обжарку кофе, а processing представляет один из трех процессов производства этого кофе.

Processing заполняется тремя статическими строками, которые я делаю доступными в форме жаркого через поле collection_select.

<%= form.collection_select(:process_id, Processing.order(:coffeeprocess), :id, :coffeeprocess, :prompt => 'Select Process') %>

Я могу назначить процесс отдельному человекуroast, и я вижу соответствующий идентификатор в столбце process_id.

Однако, когда я перехожу на страницу показа roasts, я получаю ошибку: undefined method 'coffeeprocess' for nil:NilClass, которая, как я понимаю, говорит мнезначение ноль.

Я использую следующее на своей странице шоу.

<%= @roast.processing.coffeeprocess %>

Есть идеи, где это не так?

1 Ответ

0 голосов
/ 26 ноября 2018

Вы получаете nil:NilClass, потому что Rails не понимает взаимосвязи между Roasts и Processing.

Попробуйте

class Roast < ApplicationRecord
 belongs_to :processing

См. Документацию для ассоциаций ActiveRecord для больше.

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