Ruby 无法使用Rails 3检索列数据

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

我想使用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    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)