在 Rails 4 jQuery 移动应用程序中,如果我在控制器中使用:
@sales = @bill.sales
在@bill
显示视图中,我有@bill
详细信息,然后是@sales
. 如果我然后添加销售但返回不同的视图,而不是账单显示,它会正确显示新销售的销售。如果我然后返回账单列表并选择账单显示,则销售被缓存而没有新添加。
添加新销售后我不重定向显示的原因是管理员、收银员或女服务员可能会添加销售,他们都有不同的权限和不同的控制器。只有管理员使用 Bills 控制器。
如果我使用
@sales = Sale.where(:bill_id => @bill.id)
它始终显示正确更新的列表,并且不缓存最后的销售视图。
这是我的查看代码
<ul data-role="listview" data-theme="e">
<li>Bill Number: <%= @bill.bill_number %></li>
-- more bill stuff ...
</ul>
<div class="spacer"></div>
<% unless @sales.empty? -%>
<ul data-role="listview" data-theme="a">
<% @sales.each do |sale| %>
<li><%= sale.quantity %> <%= sale.item %> <%= sale.commission_staff %> <%= number_with_precision(sale.amount, :precision => 2) %></li>
<% end %>
<li>Total Amount: <%= number_with_precision(@sales_total, :precision => 2) %></li>
</ul>
<% end %>