Задать вопрос
@nluparev

Почему не могу обращаться к private методу из того же объекта?

class SayController < ApplicationController
  def hello
    @message = { message: 'Hello', payload: self.payload }
    render json: @message
  end

  private
    def payload
      { size: 12, file_type: 'png', name: 'photo!' }
    end
end


Если я пробую обратиться к методу payload то получаю ошибку что не могу обратиться к такому методу. Если убераю private то все ок.

Почему я не могу это сделать, я ведь обращась из того же объекта?
  • Вопрос задан
  • 85 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
self.payload замените на payload.
Объекту запрещено вызывать приватные методы.
Только класс это может делать внутри себя.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы