2016-04-14 3 views
-1

Вот live demoСсылка на удаленный вопрос не работает правильно

Я пытаюсь показать ListBox с помощью дистанционных действий просто поиск Params, но не работает.

Clients_controller.rb

def new 
    @client.new 
end 

def search_city 
    @cities = City.where('id= ?',params[:city_id]) 
    respond_to do |format| 
    format.js 
    end 
end 

search_city.js.erb

$("#test").html("<%= escape_javascript(render(:partial => "city_results"))%>"); 

Модели

Client.rb 
    belongs_to :city 

City.rb 
    belongs_to :state 
    has_many :clients 

State.rb 
    has_many :cities 

routes.rb

resources :clients do 
    match 'search_city',:via =>[:get], :on => :collection 
end 

_form.erb

<%= link_to "Get list cities", {:action => "search_city"}, :remote => true, :class => "button-link" %> 

<div id = "test">Here this text will be replaced</div> 

_city_results.erb

<%= select_tag "example",options_for_select(@cities.collect { |p| [p.name,p.id] }) %> 

Вот полный лог:

Started GET "/clients/new" for 127.0.0.1 at 2016-04-14 17:31:03 -0500 
Processing by ClientsController#new as HTML 
Completed 200 OK in 133ms (Views: 107.4ms | ActiveRecord: 1.0ms) 
Rendered client_management/clients/new.html.erb within layouts/application (21.6ms) 

Started GET "/clients/search_city?city_id=1" for 127.0.0.1 at 2016-04-14 16:43:55 -0500 
Processing by ClientManagement::ClientsController#search_city as JS 
Parameters: {"city_id"=>"1"} 
Province Load (0.2ms) SELECT `states`.* FROM `states` WHERE `states`.`city_id` = 1 
Rendered clients/partials/_city_results.erb (1.9ms) 
Rendered clients/search_city.js.erb (2.9ms) 
Completed 200 OK in 7ms (Views: 4.7ms | ActiveRecord: 0.4ms) 

INFO

SELECT `states`.* FROM `states` WHERE `states`.`city_id` = 1 
RESULT: 1 (exist value) 

ПРОБЛЕМА:

не показывает выберите тег с параметрами. Когда я проверяю, являются ли параметры заданными, все в порядке, но в представлении не заменяется.

Необходимо установить драгоценный камень?

Просто работает с простым текстом, но не требует кода рельсов.

Я попытался это:

$('#province').html("<%= escape_javascript(render :partial => 'clients/partials/city_results') %>"); 
$('#province').show(); 
+0

передать ваши @cities вашего частичный 'клиентам/частичных/city_results' – fanta

+0

Как я могу это сделать? –

+0

Извините, вам это не нужно, вы используете переменную экземпляра. – fanta

ответ

2
def search city 
    .... 
    respond_to do |format| 
    format.js 
    end 
end 
+0

Я не вижу в вашем коде. –

+0

Я не могу проверить журналы. Не могли бы вы обновить свой вопрос с помощью новых журналов? –

+0

Как вы можете видеть из журнала, это не имеет никакого отношения к js. Атрибут 'name' не установлен правильно. –

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