2

我正在开发一个电子商务项目,其中将有用于选择尺寸的单选按钮。我有一个数量的下拉菜单。我想根据用户选择的尺寸可用的库存使这个下拉列表动态化。谁能告诉我如何在 Rails 上做到这一点?没有用大量的 javascript 弄乱我的视图文件!?

4

1 回答 1

2

如果您使用带有原型(默认 afaik)的 Rails 3,您可以使用原型遗留帮助程序(Github 上的链接)添加观察者并为您的下拉框呈现部分视图。你可以像这样添加一个观察者

<%= observe_field 'element_var_name',
      :url => { :action => "another_action_here" },
      :update => "div_tag_to_update",
      :with => "'selected='+ escape($('element_var_name').value)" %>

请务必element_var_name根据您的情况进行调整和操作。div_tag_to_update是将使用下拉框更新的 div。该another_action_here操作应呈现如下视图:

def call_ids_by_type
  @element_list = ... # whatever fits for you, like: [[key, value],[key, value]]
  render :layout => false
end

在局部视图中,可以使用元素列表来生成下拉框:

<%= f.select :var_name, @element_list %>
于 2011-04-08T07:58:18.657 回答