2015-05-22 2 views
1

У меня есть locations_controller и внутри у меня есть #index и #show действие. У меня есть карта на index.html.erb, и когда пользователь скопирует/перемещает по карте #show действие должно отправить данные json для отображения, чтобы отобразить списки. Я посылаю запрос json к действию #show. Но он возвращает сообщение об ошибке;Отсутствует ошибка шаблона для json return Rails

ActionView::MissingTemplate (Missing template locations/show, application/show with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in: 
    * "/usr/local/lib/ruby/gems/2.2.0/gems/web-console-2.0.0.beta3/lib/action_dispatch/templates" 
    * "/Users/emreozkan/Desktop/yedek/Last.1/app/views" 
    * "/usr/local/lib/ruby/gems/2.2.0/gems/web-console-2.0.0.beta3/app/views" 
): 
    app/controllers/locations_controller.rb:48:in 'show' 

здесь запрос в index.html.erb

<script> 

    (function ($) { 

     $('#map-canvas').mapSearch({ 
     request_uri: 'locations/show', 
     initialPosition: [ <%= @initlat %> , <%= @initlng %> ], 
     filters_form : '#filters', 
     listing_template : function(listing){ 
        return '<div class="listing">' 
         +  '<h3>'+listing.address + '</h3>' 
         + '<div class="row">' 
         +  '<div class="col-sm-2">' 
         +   '<img class="thumbnail img-responsive" src="http://dummyimage.com/150x150/000/fff.jpg">' 
         +   '</div>' 
         +  '<div class="col-sm-5">' 
         +   '<p><strong>Address : </strong>' + listing.address+ '</p>' 
         +    '<p>'+'...'+', '+'...'+' '+l'...'+'</p>' 
         +    '<p>Reg Year: ' + '...'+'</p>' 
         +   '</div>' 
         +  '<div class="col-sm-5">' 
         +   '<p><strong>Demo:</strong> '+'...'+'</p>' 
         +   '<p><strong>Demo:</strong> '+'...'+'</p>' 
         +   '</div>' 
         + '</div>' 
         + '</div>'; 
        }, 
     marker_clusterer : true 
     }); 
    }(jQuery)); 

    </script> 

А вот мой locations_controller;

class LocationsController < ApplicationController 

    def index 

    if params[:search].present? 
     location = Geocoder.search(params[:search]) 
     @locations =location[0] 

    else 
     @locations = Location.all.first 
    end 
    @initlat = @locations.latitude 
    @initlng = @locations.longitude 

    end 



    def show 

    ne_lat = params[:ne_lat].to_f 
    ne_lng = params[:ne_lng].to_f 
    sw_lat = params[:sw_lat].to_f 
    sw_lng = params[:sw_lng].to_f 

    mylatlong2 = Location.all 


    locs = {'results' => mylatlong2} 
    respond_to do |format| 
     format.html 
     format.json {render json: locs} 
    end 
    end 
end 

Я не знаю, где я делаю неправильно с запросом json. Если вы можете мне помочь, я был бы признателен. Спасибо

ответ

2

В этой строке request_uri: 'locations/show' вместо 'locations/show' попробуйте использовать вместо этого '/locations/show.json'.

Надеюсь, что это поможет!

Смежные вопросы