Как получить данные, используя ajax в рельсах - PullRequest
0 голосов
/ 12 октября 2018

Я хочу показать country currency code в текстовом поле, используя Ajax с рельсами.

Я должен показать всю страну в раскрывающемся списке следующим образом: enter image description here

Если я выбрал страну Индия, извлеките символ валюты страны в текстовом поле цены.

Я ссылаюсь на какой-то сайт, который, как они сказали, используют Ajax, но я не знаю, как использовать ajax в rails

Это проверенный код:

<script type="text/javascript">
  $("#manageproject_location").change(function() {
        var country = $('select#manageproject_location :selected').val();
        $.ajax({
          url: 'my-controller-name/function-name',
          data: { country : country },
          dataType: json,
          type: 'POST',
          success: function(result)
          {
            $('manageproject_symbol').val(); // here append courrency sybmbol
          }
        });
  });
</script>

Контроллер:

class ManageprojectsController < ApplicationController
    def new
        @manageproject=Manageproject.new
        @all=Location.all
    end
end

это база данных enter image description here

ПримечаниеЯ не знаю, как использовать ajax в рельсах.

Заранее спасибо ....!

1 Ответ

0 голосов
/ 12 октября 2018

Вам необходимо определить route, который будет служить URL для отправки данных в его уважаемую controller#actionroutes.rb добавьте

#routes.rb
post '/fetch_currency_symbol', to: "locations#fetch_currency_symbol", as: "fetch_currency_symbol"

Теперь в ajax упомяните url примерно так

url: '/fetch_currency_symbol',

Позже определите действие в locations_controller, которое будет реагировать наформат json, выбирает символ валюты и отправляет ответ.

#locations_controller.rb
respond_to :json, :html
def fetch_currency_symbol
  @location = Location.find(params[:country])
  @currency_symbol = @location.currency
  respond_with @currency_symbol
end

И, наконец, в вызове success добавьте result к текстовому полю, например,

$('#manageproject_symbol').val(result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...