Вот 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();
передать ваши @cities вашего частичный 'клиентам/частичных/city_results' – fanta
Как я могу это сделать? –
Извините, вам это не нужно, вы используете переменную экземпляра. – fanta