Ruby 无法使用Rails 3检索列数据
我想使用Rails 3访问一列数据,但无法检索。最后,在呈现out put表时出现一个空数组。请先检查我的表,如下所示Ruby 无法使用Rails 3检索列数据,ruby,ruby-on-rails-3.2,Ruby,Ruby On Rails 3.2,我想使用Rails 3访问一列数据,但无法检索。最后,在呈现out put表时出现一个空数组。请先检查我的表,如下所示 table- Payment_vendors: id Receipt_No type v_amount v_date c_date v_name v_status 7 150325006 SWD 60.00 2015-04-15 2015-04-28 Deepak No 8 1503250
table- Payment_vendors:
id Receipt_No type v_amount v_date c_date v_name v_status
7 150325006 SWD 60.00 2015-04-15 2015-04-28 Deepak No
8 150325006 GOODS 1195.00 2015-04-15 2015-04-28 Deepak No
从上表中,我想使用v_名称访问“type”列。我尝试了一次,但得到了空数组。我在下面解释我的代码
payment.html.erb:
{:action=>“check_type”},远程:true do | f |%>
类型:
'表单控件',:onchange=>(“$”(“#开关车”).submit()”})%>
选择供应商:
“btn btn成功”,id=>“切换车”%>
支付控制器.rb:
class PaymentsControllerparams[:payment][:v_name])。Pull(:type)
其他的
@v_名称=供应商。其中(:s_分类=>params[:payment][:s_分类])。Pull(:v_名称)
终止
终止
终止
检查_type.js.erb:
$(“#div_select”).css(“显示”、“块”);
$(“#名称选项”).html(“”);
$(“#名称选项”)。向下滑动(350);
console.log('hello')
$(“.flash message”).html(“”);
$(“#paymentdetail”).css(“显示”、“块”);
$(“#paymentoption”).html(“”);
$(“#支付选项”)。向下滑动(350);
当type==“SWD”时,获取我需要的所有列数据后,此行的所有相关值将显示在下表中
paymentdetails.html.erb:
序号
日期
收据号码。
数量
请帮助我解决此问题。您试图传递的是
params[:payment][:v_name]
而不是params[:v_name]
尝试以下操作:在控制器的检查\u type
方法中:
@vendor_type = PaymentVendor.where(:v_name => params[:v_name] ).pluck(:type)
您收到的确切错误是什么?请参阅@screenmutt上的指南:实际上,我在模板上得到的是空数组。您在这里包含了太多不相关的信息。采取以下步骤(1)手动检查您的表格,是否有数据?(2) 检查控制器中命令的输出,是否为空数组?(3) 删除所有不相关的代码(即表单和表格)。一旦数据被提取出来,你就可以在任何地方使用它。
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[:payment][:v_name] ).pluck(:type)
else
@v_name=Vendor.where(:s_catagory => params[:payment][:s_catagory] ).pluck(:v_name)
end
end
end
<% if @v_name %>
$("#div_select").css("display", "block");
$("#name-option").html("<%= escape_javascript (render 'nameoption' ) %>");
$("#name-option").slideDown(350);
<% end %>
<% if @vendor_type %>
console.log('hello')
$(".flash-message").html('<%= escape_javascript flash[:notice] %>');
$("#paymentdetail").css("display", "block");
$("#paymentoption").html("<%= escape_javascript (render 'paymentdetails' ) %>");
$("#paymentoption").slideDown(350);
<% end %>
<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>
@vendor_type = PaymentVendor.where(:v_name => params[:v_name] ).pluck(:type)