1
嘿所有,我有驗證問題,我一直在努力在過去幾天沒有運氣。我擁有的是我有一個需要用戶輸入URL的模型。我已經在我的模型下面的做到了這一點:Rails 3 - 表單驗證 - 將邏輯移至回調或觀察者?
validates :url, :presence => true
當用戶提交他們的形式,我把他們的網址,並引入nokogiri打開它拉基本的東西,如網頁標題。我目前正在使用控制器中的Create方法執行此操作。代碼看起來像這樣:
def create
require 'open-uri'
@page = Page.new(params[:page])
doc = Nokogiri::HTML(open(@page.url))
我在跑的問題是,如果用戶輸入一個空白表格,引入nokogiri會報錯了,因爲它運行,儘管我試圖驗證表單。
我的問題是,我應該把這種邏輯轉移到回調還是觀察者?我很新的軌道,但有沒有辦法讓我從一個回調/觀察員的數據/實例變量?我沒有簡單地使用@page,但想知道是否有一種方法我應該把它傳遞給回調/觀察者,如果這是這種邏輯應該放置的地方?
謝謝
嘿,感謝您的幫助。它現在像一個魅力。我還有一個關於回調的問題,在閱讀一些文檔時我找不到。有沒有辦法只能在create方法之後運行這個before_save回調?按照它的規定,它在更新之後運行,並且在它保存之前。我需要隔離它,所以它只是在創建之後,因此我最初在控制器上擁有該方法中的邏輯。 – Kombo 2011-01-12 19:11:24