0

.click 関数でデータベースにクエリを実行しようとしています。alert(val) できるので、うまくいきます。しかし、データベースにアクセスしてDiscountテーブルにDiscount.amount == valのレコードが存在するかどうかを調べる方法を見つけようとしています

  $(document).ready ->
  $("button.discount").click ->
    val = $('input.discount').val()
    store = window.location.pathname.split('/')[1]

// Would like to do something like this, I'm guessing with ajax:

d = Discount.find_by_name(val)
if d
  return d.amount
else
  return "No discount exists"
end
4

1 に答える 1

0

jQuery$.get()メソッドを使用するだけです。

$(document).ready ->
  $("button.discount").on "click", (event) ->
    val = $(this).val()

    $.get 'domain/discount/?discount_value=' + val # Send the discount value as parameter
      (data) ->
        switch data
          when 'ok' then do something ...
          when 'ko' then do another thing ...

Railsコントローラーで(コントローラーへのルートが次のようになっていると仮定しますdomain/discount/?discount_value=X:)

d = Discount.find_by_name(params['discount_value'])
if d
  response = d.amount
  status = "ok"
else
  status = "ko"

respond_to do |format|
  msg = { :status => status, :amount => response }
  format.json  { render :json => msg }
end
于 2013-05-07T15:31:12.573 に答える