Javascript 返回商品列表价格的Rails、JSON api
我有一个多选下拉框,有人建议我在rails中创建一个JSONAPI,返回给定项目列表的价格,但不确定如何返回,以寻求指导 订购咖啡 对于选定的单个项目,价格显示正确,但如果我选择的项目数超过我将得到的Javascript 返回商品列表价格的Rails、JSON api,javascript,jquery,ruby-on-rails,ajax,ruby-on-rails-4,Javascript,Jquery,Ruby On Rails,Ajax,Ruby On Rails 4,我有一个多选下拉框,有人建议我在rails中创建一个JSONAPI,返回给定项目列表的价格,但不确定如何返回,以寻求指导 订购咖啡 对于选定的单个项目,价格显示正确,但如果我选择的项目数超过我将得到的selectedItem.val()返回1,2,给出items/1,2.json 形式 项目 {:class=>'span6'}%> 我的项目应该动态添加,例如可以有10个以上的项目。我应该在这里使用cocoon gem吗?为什么不作为数据发送,而不是在url中发送 $.ajax({ url
selectedItem.val()
返回1,2,给出items/1,2.json
形式
项目
{:class=>'span6'}%>
我的项目应该动态添加,例如可以有10个以上的项目。我应该在这里使用cocoon gem吗?为什么不作为数据发送,而不是在url中发送
$.ajax({
url: "/items.json",
data: { selectedItem: "[" + selectedItem.val() + "]" },
dataType: 'json'
}).done(function(data) {
// do something with the data
});
或者类似的东西。Rails仍将解析json数据,并提供参数[:selectedVal]供您使用。如果val()是逗号分隔的,则使用方括号。如果我有许多记录,10000条记录,我可以指定要获取哪些记录,然后通过调用的id与我需要的值匹配吗?我想你可能会问自己,为什么不分页就向用户显示10k条记录。这对我来说很难闻,如果你继续这样做,你可能会对结果不满意。打包的数据越多,就越容易出现错误,导致请求内容大小最大。我使用的是带下拉结果的select2 gem:搜索框,而不是带分页的选择框。因此,他们将搜索项目并选择它,然后他们可以搜索其他项目。如果我提取json中的所有项目并选择要显示价格的项目。有没有比拉取所有项目更好的方法?我也不建议在选择中选择10k项目。最重要的是,您不想在url中发送它。将其作为正文的一部分发送。为什么不希望在url中发送?
<%= simple_form_for(@order, remote: true) do |f| %>
<%= f.error_notification %>
<h3>Items</h3>
<%= f.association :items, collection: Item.all, label_method: :name, value_method: :id, prompt: "Choose an item", input_html: { id: 'item-select2' }, :wrapper_html => { :class => 'span6' } %>
<div class="product">
<div class="item"></div>
<div class="price"></div>
</div>
<div class="sub_total">
<div class="total">
</div>
</div>
<%= f.submit %>
<% end %>
$.ajax({
url: "/items.json",
data: { selectedItem: "[" + selectedItem.val() + "]" },
dataType: 'json'
}).done(function(data) {
// do something with the data
});