検索プロンプトから選択された値のユーザーを取得し、それをjavascriptに渡そうとしています。私の検索コントローラーでは、@resultに保存されています。次に、(params [:query_id]で必要なものを見つけています。
プロンプトに選択を追加することで、署名されていないユーザーのプロンプトを少し凝ったものにしたかった。簡単な方法で試してみました-
var selected = getElementById('#query').value;
しかし、このエラーメッセージが表示されました:ReferenceError:変数が見つかりません:getElementById
ルビー配列からこの変数を取得しようとしました:
var selected= <%= @result.to_json %>;
しかし、それはnullを返します
提案されているように、searhコントローラーのコードを追加します。
def index response_to do | format | format.html {render:text => "html"}
format.js do
@search = SearchItem.search{ keywords params["query"] }
@result = []
@search.each_hit_with_result do |hit, item|
@result << {:name => hit.stored(:name), :id => item.id}
end
render :json => @result.to_json
end
end
それから検索htmlで私は持っています
#search
= form_tag find_from_query_entries_path, :remote => true, :id => "search_form" do
= text_field_tag :query, nil
= hidden_field_tag :query_id