Rails Ajax在单选按钮上加载记录值

时间:2015-08-27 15:29:43

标签: javascript jquery ruby-on-rails ajax

我正在努力处理代码中的ajax部分。如何创建一个新条目或删除一个条目是非常明确的(感谢codeschool),但在我的情况下,表单上没有提交。

我想要的 - 如果有人点击显示闪存驱动器音量(1 GB,2 GB,4 GB)的单选按钮,我想显示当前闪存驱动器大小的价格。

我的记录结构如下: 产品 - 包含一般数据 选项 - 包含价格和优惠体积

这是我show.html.haml的一部分:

.col-sm-6
  .box
    %form
      .sizes
        %h3 Available sizes (Gbyte)
        -@volumes.each do |volume|
          -volume.each do |item|
            %label{:for => "size_#{item.id}"}
            %a{:href => "#", class: 'size_input'}
              =sprintf('%.0f', item.value/1000.to_f)
              GByte
            %input#size_s.size-input{:name => "volume", :type => "radio", :value => item.id}
      %p.price#priceValue
        =(@getCurrency[0].to_f).ceil
         USD

这是我的产品。咖啡:

jQuery ->
    $('.size_input').on 'click', (event) ->
        selected_value = $('input[name=volume]:checked').val()
        $.ajax ->
            type: "GET"
            dataType: "json"
            url: "/products"
            success: (json) ->
                $('#priceValue').text(json.price)

我知道我的ajax调用中的url是完全错误的,但到目前为止我的搜索工作还没有产生任何结果。 从逻辑上讲,我需要将我的产品ID传递给url并检索匹配" selected_value"的选项,但我该如何做?

1 个答案:

答案 0 :(得分:0)

您需要将产品ID传递给/ products以获取该特定产品。

compile 'com.google.android.gms:play-services-location:6.5.87'
compile 'com.google.android.gms:play-services-gcm:7.5.0'

selected_value应该是产品的ID。

在控制器中,您需要使用

url: '/products/' + selected_value

并将其作为json对象返回。

product = Product.find(params[:id])