Если кому-то понадобится:
view:
<%= f.collection_select :category_id, Category.all, :id, :title, {prompt: 'Выберите категория'} %>
<%= f.collection_select :subcategory_id, Subcategory.all, :id, :title, {prompt: 'Выберите подкатегорию'} %>
update_sub_categories.js (в одной папке со вьюхой):
$("#booking_subcategory_id").empty().append("<%= escape_javascript(render(:partial => 'subcategory', :collection => @cats, :as => :cat)) %>");
routes.rb:
get 'update_sub_categories' => 'bookings#update_sub_categories'
get 'bookings/update_sub_categories' => 'bookings#update_sub_categories'
контроллер:
def update_sub_categories
@cats = Subcategory.where(category_id: params[:category_id]).all
respond_with(@cats)
end
_subcategory.html.erb:
<%= cat.title %>