0
我是新來的鐵軌,我做錯了我的模型方法,我想不出。在模型中,它接受來自用戶的URL,然後爲該圖像和標題刮取該URL。一切工作正常,如果我從一些隨機的網站硬編碼的值,但如果我從用戶提交的鏈接的價值,我得到這個錯誤:使用模型方法的Ruby on Rails會破壞我的URI?
Failure/Error: let!(:list_link){FactoryGirl.create(:list_link, list: list)}
URI::InvalidURIError:
bad URI(is not URI?): http://list link
我最好的猜測是,該方法在變異數據庫數據,我不希望它做。我試圖使用鏈接來生成2個額外的list_link.title和list_link.image屬性。我試過克隆原始鏈接,但這似乎不起作用。
這裏的模型:
class ListLink < ActiveRecord::Base
belongs_to :list
validates :link_url, presence: true
validates :list_id, presence: true
before_save :set_link
def set_link
self.link_url = link_url
link_info = OpenGraph.fetch(link_url.clone)
if link_info
self.title = link_info.title
self.image_url = link_info.image
end
end
末
這裏是我廠:
FactoryGirl.define do
factory :list_link do
link_url "list link"
image_url "image"
title "title"
list
end
end
感謝您的幫助。
你在哪裏定義了'link_url'? – 2014-09-27 03:18:39
你爲什麼重置'set_link'中的'link_url'?你的工廠看起來像什麼? – 2014-09-27 03:23:25
它是數據庫中的一列。我將鏈接的名稱更改爲link_url,因爲它似乎導致了一些問題 - 不確定這是否是這些問題的原因。我會在上面發佈工廠。 – PaygeVii 2014-09-27 03:23:31