我想使用Rails 3在表格中显示一些数据。假设我有以下数据数组。
@vendor_type=["SWD", "GOODS","SWD"]
我的数据库结构如下。
table- Payment_vendors:
id Receipt_No type v_amount v_date c_date v_name v_status
7 150325005 SWD 60.00 2015-04-15 2015-04-28 Deepak No
8 150325006 GOODS 1195.00 2015-04-15 2015-04-28 Deepak No
9 150325007 SWD 60.00 2015-04-15 2015-04-29 Deepak No
实际上我的要求是在@vendor_type==SWD
时,它将检索与“SWD”对应的所有Receipt_no。根据Receipt_No,相应的行数据将获取并附加在下表中。
paymentdetails.html.erb:
<table class="table table-bordered">
<colgroup>
<col class="col-md-1 col-sm-1">
<col class="col-md-1 col-sm-1">
<col class="col-md-3 col-sm-3">
<col class="col-md-3 col-sm-3">
<col class="col-md-4 col-sm-4">
</colgroup>
<thead>
<tr>
<th class="text-center"><input type="checkbox"></th>
<th class="text-center">Sl. No</th>
<th class="text-center">Date</th>
<th class="text-center">Receipt No.</th>
<th class="text-center">Amount</th>
</tr>
</thead>
<tbody>
<tr>
<th class="text-center"><input type="checkbox" id="checkbox1-1" name="checkbox1-1"></th>
<td class="text-center"></td>
<td class="text-center"></td>
<td class="text-center"></td>
<td class="text-center"><i class="fa fa-rupee"></i></td>
</tr>
</tbody>
</table>
我的控制器文件如下所示。
payments_controller.rb:
class PaymentsController < ApplicationController
def payment
@payment=Vendor.new
respond_to do |format|
format.html
format.js
end
end
def check_type
if params[:commit]=="submit"
@vendor_type=PaymentVendor.where(:v_name => params[:v_name]).pluck(:type )
#@vendor_type=PaymentVendor.pluck_all(PaymentVendor.where(:v_name => params[:v_name]),:type ,:Receipt_No)
else
@v_name=Vendor.where(:s_catagory => params[:payment][:s_catagory] ).pluck(:v_name)
end
end
end
请帮我解决此问题。
答案 0 :(得分:0)
我只能对你想要的东西做出最好的猜测,但我认为你要求的是:
1)在PaymentsController中的check_type
方法中更改此行:
@vendor_type=PaymentVendor.where(:v_name => params[:v_name])
这摆脱了.pluck方法,并返回一个PaymentVendor对象数组,而不仅仅是列:type。
现在在您的ERB文件中,您需要一个循环结构,它将在表体中为@vendor_type数据结构中的每个项创建行:
...
</thead>
<tbody>
<% @vendor_type.each do |vt| %>
<tr>
<td class="text-center"><input type="checkbox" id="checkbox1-1" name="checkbox1-1"></th>
<td class="text-center">????? what column does "Sl. No" refer to??? </td>
<td class="text-center"><%= vt.v_date %></td>
<td class="text-center"><%= vt.receipt_no %></td>
<td class="text-center"><i class="fa fa-rupee"><%= vt.v_amount %></i></td>
</tr>
<% end %>
</tbody>
</table>