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