我從服務中獲取數據,然後將數據設置爲我的bean對象,並希望在我的視圖中使用相同的數據,現在在rails視圖中以表單的形式顯示它。現在我想用主幹驗證這個表單。Backbone With Rails
我是Rails和Backbone的新手。
請給我一個關於如何繼續這個想法。
我從服務中獲取數據,然後將數據設置爲我的bean對象,並希望在我的視圖中使用相同的數據,現在在rails視圖中以表單的形式顯示它。現在我想用主幹驗證這個表單。Backbone With Rails
我是Rails和Backbone的新手。
請給我一個關於如何繼續這個想法。
我想你可能對Web應用程序的工作方式感到困惑。 Backbone是一個客戶端端架構;它使用在用戶瀏覽器中運行的Javascript代碼。 Rails是一個服務器端架構;它使用在您的服務器上運行的Ruby代碼。
鑑於此,您的Backbone代碼和您的Rails代碼必須完全分離。這兩者只能通過兩種方式進行通信:
1)您的Rails代碼可以將<script>
標籤寫入頁面(在.html.erb文件中),並將可變數據放在那裏;例如:
<script>
var myVarFromRails = '<%= someRailsVariable %>';
</script>
當從服務器恢復(即當您查看源代碼的網頁。),將被轉換到:
<script>
var myVarFromRails = 'foo';
</script>
(假設「富」是的someRailsVariable
值)。
2)您的Java腳本代碼可以向Rails URL發出AJAX請求,並且無論Rails代碼吐出的是什麼,都會返回作爲對您的AJAX請求的響應。換句話說,你可以這樣做:
$.ajax({url: someRailsUrl, complete: function(response) {
// whatever the server sent back will be inside the "response" variable
}});
除此之外兩者幾乎完全獨立的,如果你想要做同樣的事情在他們兩個(例如驗證表單。)實際上需要寫代碼兩次,Ruby一次,Javascript一次。
我說「本質上」,因爲有Rails插件以不同的方式爲你做#1和#2。我不是Rails的專家,即使我有這麼多的插件,你真的需要找出自己的問題,找出存在什麼以及對你的代碼庫有什麼意義。
希望有所幫助。
*編輯*
我知道我只是說我不會列出庫,但後來我意識到,這將會是更有益的,如果我至少提供了一些讓你開始。只是不要把這些當做佳能;他們現在只是一些流行的圖書館,但他們可能會或可能不適合你。
這最後兩個是不實際的庫,他們是一本書/演示,但我認爲他們可能會有用。
P.S.如果你沒有困惑,而且你實際上只是問「我如何在Backbone中驗證表單?」,基本的答案是你使用Backbone.View來包裝表單,並添加邏輯來設置表單的數據在Backbone.Model中。然後你在該模型上定義一個驗證方法,爲它添加驗證邏輯,並且你已經完成設置。如果您希望將該表單數據發送到服務器,則只需調用'model.save()'(假設您已在該模型中定義了一個url)。 – machineghost
感謝您的回答......我不會對此感到困惑,而且我已經執行了所有指定的操作。但是我很困惑如何在瀏覽器上顯示消息。我正在檢查驗證器的isValid方法並且只能夠現在顯示警報。 – unknown
我仍然難以理解您的問題:「我正在檢查驗證程序的isValid方法,現在只能顯示警報」甚至不是一個語法句子,讓獨自一個完整的解釋,你正在做什麼,什麼是不工作的。如果你想從堆棧溢出的幫助,你會更成功,如果你詳細說明(最好編輯你的問題),並花時間溝通清楚。 – machineghost
我的骨幹視圖將如何識別標識DOM中表單的tagName和id屬性? – unknown