Так что я довольно новичок в Rails.
Вот моя проблема:
У меня есть вызов Ajax в моем coffeescript для модели Tenant, страница редактирования.
$("#tenant_tenantbuildinginfo").change ->
$.ajax
url: "/buildings/getgst",
dataType: "json",
data: 'buildinginfo' : $(this).val(),
success: (data) ->
console.log data
$("#tenant_gst").val data
error: (data) ->
console.log 'error'
return false
Таким образом, идея этого ajax-вызова состоит в том, чтобы вернуть налоговую ставку, например «5,6», из метода в контроллере зданий (который отлично работает)...
def getgst
d { 'gets fired' }
s = Building.get_gst_for_building(params[:buildinginfo])
d { s.to_s('F') }
@var = s.to_s('F')
respond_to do |format|
format.json { render json: @var }
end
end
Строки d { } - это регистратор, поэтому я знаю, что функция вызывается и возвращает правильное значение. Так что прекрасно, вызов Ajax работает отлично до сих пор. Однако теперь моя проблема заключается в анализе или отображении возвращаемого значения в функции успеха.
success: (data) ->
console.log data
$("#tenant_gst").val data
Эта часть вызова AJAX возвращает «undefined» в моей консоли, что действительно странно, потому что в моем действии контроллера я визуализирую @var в json, а вызов ajax ожидает json.
Любая помощь приветствуется, большое спасибо!