2011-08-21 75 views
5

我正在使用Rails 3.0.9的best_in_place gem。似乎我有一切工作。我遵循安裝說明,我可以點擊一個項目,編輯它並用ajax保存在一個地方。無法顯示驗證錯誤與best_in_place寶石

但是,當測試驗證功能但輸入假數據時,不會顯示錯誤消息。

我不確定這是否應該通過javascript神奇地完成,或者如果我應該提供某種div標籤或可以顯示錯誤消息的東西。

檢查在螢火蟲中,我得到正確的JSON響應。就我而言,我可以看到

[「債務有長度無效」]

但這並不會取得任何渲染。

還有什麼我需要放在視圖中呈現驗證錯誤?它應該通過purr.js顯示。我需要把外的JavaScript文件在我的公開目錄做任何事情,在application.js中發起best_in_place並把

<p> 
    <b>Debts:</b> 
    <%= best_in_place @prospect, :debts, :type => :input %> 
</p> 

在視圖?

+0

似乎沒有得到任何答案。想知道如果這是一個沒有人有答案或更可能我的問題是不夠清楚的情況。我應該提供的任何其他信息的任何建議都是值得歡迎的 – Oscar

+0

你的控制器是什麼樣的?如果更新失敗,你打電話給respond_with_bip嗎? – rkb

回答

3

你的問題聽起來就像我的:仔細檢查Railscast #302,我注意到錯誤信息是打印,但在頁面的左下角,很難看到,很容易錯過。

purr CSS代碼列出了該頁面將在網頁上更清晰地進行格式化和顯示。

希望這會有所幫助。

2

你應該添加合適的控制器動作

def update 
    .. 
    respond_to do |format| 
    format.json { render json: @prospect } 
    end 
end 

或使用respond_with_bip幫手來代替。不要忘了定義.purr CSS類,「最佳就位」gem使用jQuery Purr插件來顯示錯誤消息:

.purr { 
    position: fixed; 
    top: 30px; 
    right: 100px; 
    width: 250px; 
    padding: 20px; 
    background-color: #FCC; 
    border: solid 2px #C66; 
    &:first-letter { text-transform: uppercase; } 
} 
+0

真棒謝謝。 –

1

保重。在application.js中添加best_in_place.purr插件而不是jquery.purr。它爲我工作。

//= require jquery 
//= require jquery_ujs 
//= require bootstrap 
//= require best_in_place.purr 
//= require best_in_place 
//= require_tree .