私はブートストラップのtypeaheadプラグインを使用しています。基本的には、ドロップダウンメニューのアイテムの1つをクリックするとjson応答が必要です。しかし、アイテムをクリックすると、別のページにリダイレクトする必要があります。私はjsonと反応したくありません。私はこの状況をどのように処理するのか分かりません。これは私が持っているものです。jsonの要求でリダイレクトで応答します
def populate_global_search
respond_to do |format|
if params[:name] && params[:name][:value]
model = Model.where(name: params[:name][:value]
else
model = nil
end
if model.present?
format.json { redirect_to model }
else
format.json { head :ok}
end
end
end
アクションは、Ajax呼び出しからトリガーされます。redirect_toはJSONレスポンスではありません
$(element).bind('typeahead:selected', function(obj, datum, name) {
$.ajax({
url: that.format_url(),
data: {
name : datum
}
}).done(function(data){
...
ので、私は項目をクリックすると、何も起こりません。私に何ができる?
あなたはどのようにこの行動を呼びますか? –
@Зелёныйアクションはブートストラップの先頭から呼び出されます。http://getbootstrap.com/2.3.2/javascript.html#typeahead – Donato
ok、いくつかの 'ajax'ですか?コードを共有できますか? –