Ruby 使用Rails 3选中复选框时如何获取表值

Ruby 使用Rails 3选中复选框时如何获取表值,ruby,ruby-on-rails-3.2,Ruby,Ruby On Rails 3.2,我有一个数据表,每行包含一个复选框。我需要用户单击复选框,然后使用Rails检索相应的行值。我的表如下所示 paymentdetails.html.erb: 序号 日期 收据号码。 数量 r%> 支付控制器.rb: class PaymentsController参数[:v_名称]).map{v|v|[v.v_分类,v.Receipt_编号]} #@vendor_type=PaymentVendor.where(:v_name=>params[:v_name]).pluck(:v_分类) 输

我有一个数据表,每行包含一个复选框。我需要用户单击复选框,然后使用Rails检索相应的行值。我的表如下所示

paymentdetails.html.erb:


序号
日期
收据号码。
数量
r%>
支付控制器.rb:

class PaymentsController参数[:v_名称]).map{v|v|[v.v_分类,v.Receipt_编号]}
#@vendor_type=PaymentVendor.where(:v_name=>params[:v_name]).pluck(:v_分类)
输出=[]
@结果=[]
@供应商|类型。每个do | i|
如果i.first==params[:payment][:s_分类]

输出虽然这不是您问题的答案,但请注意,您的所有复选框都具有相同的
id
“checkbox1-1”
)。您可能想要改变这一点,因为它可能会在以后引起问题。ID应该是唯一的。@Myst:现在你有什么解决方案吗?我唯一能想到的就是编写一个(使用
onclick
javascript回调)来发送信息。但这可能会将web应用程序的使用限制在支持javascript的设备上,而且我的javascript不是很强。我希望其他人能想出更好的解决方案。@Myst:你能帮我解决这个问题吗?我有一个生成的html输入字段是这样的。你能告诉我如何访问控制器页面中的字段值吗。
<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>
            <% @result.each do |r| %>
            <tr>
                <th class="text-center"><%= check_box_tag :check_value,:value => r  %></th>
                <td class="text-center"><%= r.id %></td>
                <td class="text-center"><%= r.c_date %></td>
                <td class="text-center"><%= r.Receipt_No %></td>
                <td class="text-center"><i class="fa fa-rupee"></i><%= r.v_amount %></td>
            </tr>
            <% end %>
     </tbody>
</table>
class PaymentsController < ApplicationController

    def payment
        @payment=Vendor.new
        @add_payment=AddPayment.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]).map{|v|[v.v_catagory ,v.Receipt_No]}
            #@vendor_type = PaymentVendor.where(:v_name => params[:v_name]).pluck(:v_catagory)
            output=[]
            @result=[]
            @vendor_type.each do |i|
              if i.first == params[:payment][:s_catagory]
                output << i[1]
              end  
            end  
            output.each_with_index{|val, index|
               #puts "#{val} => #{index}" 
               #puts output1[index]
               @result << PaymentVendor.find_by_Receipt_No(output[index])


            }
        else
            @v_name=Vendor.where(:s_catagory => params[:payment][:s_catagory] ).pluck(:v_name)
        end
    end
    def add_payment
        if params[:commit]
        else
            if params[:add_payment][:p_catagory]=="Cheque"

            end
        end
    end
end