私は、それがライナーを持っているかどうかに基づいて価格を計算し、すべてのアイテムを合計する必要がある式を持っています。私はその数式を取ってコントローラに加えて合計を得るべきだと推測していますが、それをモデルに追加する方法を見つけることはできません。Rails - 計算の合計
モデル##これが動作しない##
def liner
(((2 * order_item.length) + (2 * order_item.width)) * order_item.height + (order_item.length + order_item.width)) * current_user.company.rate
end
コントローラ
def edit
@order = Order.find(params[:id])
@order_items = OrderItem.where(order_id: @order)
end
ビュー##下##
<% if @order_items.exists? %>
<div class="well">
<% @order_items.each do |order_item| %>
<div class="table-responsive">
<table class="table table-striped">
<tbody>
<tr>
<td>
<%= order_item.liner.present? ? (order_item.fitting.name + ' w/ Liner') : order_item.fitting.name %>
</td>
<td>
<%= order_item.length %>"L
<%= order_item.width %>"W
<%= order_item.height %>"H
</td>
<td><%= order_item.quantity %> @ (<%= order_item.liner.present? ? number_to_currency((((2 * order_item.length) + (2 * order_item.width)) * order_item.height + (order_item.length + order_item.width)) * current_user.company.rate) : number_to_currency((((2 * order_item.length) + (2 * order_item.width)) * order_item.height) * current_user.company.rate) %>) =</td>
<td>
<td><%= order_item.liner.present? ? number_to_currency(((((2 * order_item.length) + (2 * order_item.width)) * order_item.height + (order_item.length + order_item.width)) * current_user.company.rate) * order_item.quantity) : number_to_currency(((((2 * order_item.length) + (2 * order_item.width)) * order_item.height) * current_user.company.rate) * order_item.quantity) %></td>
<td>
<%= link_to '<i class="material-icons">clear</i>'.html_safe, order_item, class: 'btn btn-xs btn-danger', role: 'button', method: :delete, data: { confirm: 'Are you sure?' } %>
</td>
</tr>
</tbody>
</table>
</div>
<% end %>
<p><%= @order_items.sum(&:liner) %>
</p>
</div>
<% end %>
の合計を除いて、このすべての作品
私はモデルに2つの式が必要だと思っていました... 1つはライナー用、もう1つはライナーなしです。そして、それらをビューに追加すると、それぞれの合計を得ることができます。
私はモデルを使用してみてくださいたびに、私はあなたの助けのための
おかげで...右のそれを得ることができません!
何か?私はすでにそれをする必要があると言いました.... – scottkekoa
私はちょうど私がプロセスを始める方法を示した。最初に、Modelでメソッドを作成し、次に 'rails console'でその関数をチェックしてから、コントローラまたはビューでそのメソッドへの追加呼び出しを考えることができます。基本的な考え方は、最初にモデルメソッドの定義を解決し、それが正常に動作することを確認することです。 –
あなたの投稿は可能な限り基本的なものでした...役に立たない。ごめんなさい! – scottkekoa