Я создаю чат-бота и храню свои «ответы» в файле Yaml ниже:
# say_hello.yml
- reply_type: text
text: "Welcome <%= @user.first_name %>"
- reply_type: delay
duration: 2
- reply_type: text
text: "We're here to help you learn more about something or another."
- reply_type: delay
duration: 2
Для запуска ответов я использую этот метод:
def process
@user = User.find(user_id)
replies = YAML.load(ERB.new(File.read("app/bot/replies/say_hello.yml")).result)
replies.each do |reply|
# code for replies...
end
end
Однако, когда я запускаю это, я получаю ошибку «неопределенный метод» на first_name
для @user
.Если я запускаю тот же код в консоли, он работает.
Как определить переменную типа @user
, а затем правильно загрузить файл YAML?