私の質問の言い回しではこれは不可能だと思いますが、探している結果を得る方法はありますか。
Rails 3.2 アプリには、City フィールドと Location フィールドを含むフォームがあります。
<%= f.select :city, City.all, :prompt => "Select..." %>
<%= f.input :location_name, :input_html => { data:{ autocomplete_source: Location.order(:name).map(&:name) } } %>
場所フィールドは、Twitter Bootstrap の先行入力機能を使用して、エントリのオートコンプリート リストを表示します。
ロケーションは都市に属します。ユーザーが選択した都市の値に基づいて、オートコンプリート エントリのリストをフィルター処理したいと考えています。
基本的に、動的に変更する必要があります
... autocomplete_source: Location.order(:name).map(&:name) ...
に
... autocomplete_source: Location.where('city_id => ?', '@myform.city.id').order(:name).map(&:name) ...
coffeescript では、次のようなことができます。
jQuery ->
$('#myform_city_id').change ->
$('#myform_location_name').attr('data-autocomplete-source','#{Location.where(city_id: @myform.city_id).order(:name).map(&:name)}')
ただし、アクティブ レコード クエリは呼び出されず、単に文字列として渡されます。
この autocomplete-source 属性を新しいクエリで動的に変更する最良の方法は何ですか?