Привет всем, у меня проблемы с проверкой, над которой я работал последние пару дней без удачи. У меня есть модель, которая требует от пользователя ввода URL. Я сделал это со следующим в моей модели:
validates :url, :presence => true
Когда пользователь отправляет свою форму, я беру его URL и открываю его с помощью Nokogiri, чтобы вытащить основные вещи, такие как заголовок веб-страницы. В настоящее время я делаю это с моим методом Create в контроллере. Код выглядит так:
def create
require 'open-uri'
@page = Page.new(params[:page])
doc = Nokogiri::HTML(open(@page.url))
Проблема, с которой я сталкиваюсь, заключается в том, что если пользователь вводит пустую форму, Nokogiri выдаст ошибку при запуске, даже если я попытался проверить форму.
У меня вопрос: должен ли я перенести такую логику на обратный вызов или на наблюдателя? Я довольно новичок в рельсах, но есть ли способ для меня работать с переменными данных / экземпляра от обратного вызова / наблюдателя? Я просто не смог использовать @page, но мне было интересно, есть ли способ, которым я должен передать его в callback / наблюдатель, если именно здесь должна быть размещена логика такого типа?
Спасибо