1
我正在設計產品配置程序。問題似乎是,每個產品都有多個組件,而且它們彼此交互的方式非常隨意。所以,如果你改變一個零件的數量,在其他地方它需要自動調整等。Rails跟蹤Js在做什麼
因爲所有這些,以及這些規則經常改變的事實,我決定把它們變成Js函數,所以我有軌這樣的事情:
<% @counter = 0 %>
<% @people.each do |p| %>
<% @counter += 1 %>
<tr>
<%= form_for(:p, :remote => true) do |f| %>
<th><%= f.label(p.name) %></th>
<th><%= f.label(p.country.name) %></th>
<th><%= f.label(p.state.name) %></th>
<th id="<%= "money_" + @counter.to_s %>"> <%= f.select(:money, 1..10, :selected => p.money)%></th>
<th id="<%= "comment_" + @counter.to_s %>"><%=p.money_comment%></th>
<% end %>
<% end %>
(字段名這裏是隨機的)
,我有一個文件一個js函數被加載時,像這樣:
function change_people() {
money1 = $('money_1').children[0].value;
$('comment_2').update((money1 == 5) ? "selected 5!" : 'why not 5?');
}
document.observe('dom:loaded', function() {
change_people();
$('money_1').children[0].observe('change', change_people);
});
所以這個工程,我可以修改值取決於用戶選擇什麼等,但...這是問題。軌道如何知道這個? Rails帶來了默認的人數,這些數據來自數據庫等,我如何告訴它,如果/當我想添加到購物車時,新值是什麼?
非常感謝!
感謝您的答覆潘。我還沒有想出一種方法來正確存儲數據庫中的不同範圍和選項,以供rails選取。對於默認值,沒有問題。但你認爲我應該如何規定這些規則,因爲顯然將每個可能的形式存儲在數據庫中都太多了。爲了給你一些背景知識,目前,UI是Excel,並且「規則」在數據庫中作爲字符串存儲。當用戶選擇產品時,會帶來這些字符串(它們恰好是Excel公式),因此某些元素在某些變化時會變爲動態。 – Lievcin 2011-01-26 22:50:19