我知道已经有很多问题已经回答了,但我正在做他们在这些帖子中说的所有内容,而且它仍然没有用。
需要注意的一点是,它在某一点上工作,但现在已经不再有效了。我可以发誓我没有改变任何东西,但也许我做了。
我有一个页面上有一堆部分内容(对不起,一切都是haml):
%h4 Query Editor .row-fluid .span9 = render 'query_editor' .span3 = render 'documentation' = image_tag "spinnerLarge.gif", size: "20x20", class: 'loading-indicator' %span{ id: "results" } = render 'results'
我要做的是重新渲染结果。
表单只在其中一个中(以haml为单位):
= form_tag 'query', remote: true, class: "form-horizontal" do = text_area_tag :query_editor, @current_connector.editor_state, rows: 10, class: 'input-block-level' = text_area_tag :selected_query, nil, style: 'display:none'
现在我有一些javascript,如果按Cmd + Enter,它会在text_area中运行查询:
$(document).ready -> $('#query_editor').keydown (event) -> if ((event.which == 115 && event.ctrlKey) || (event.which == 13 && event.metaKey)) $('#selected_query').val($('#query_editor').getSelectedText()) $('#results').prepend('Getting results...') $(this).parent('form').submit() event.preventDefault()
在我的控制器中,我有我的代码来执行查询(我知道工作正常b / c我看到刷新页面时结果会回来),但结果部分不会自动刷新。
query_tool_controller.rb:
def query # run the query and get some results and store in @results variable respond_to do |format| format.html { render action: 'view' } format.js { render layout: false } format.json { render json: @results, status: :success } end end
这是我的query.js.erb
$('#results').html("<%= j render(partial: 'results').html_safe %>");
我正在使用rails 3.2.13并且我已经包含javascript_include_tag "application"
。我的application.js中还有以下几行:
//= require jquery //= require jquery_ujs
有什么想法吗?
我也尝试用以下代码替换query.js.erb:
alert("hello, world");
警报没有弹出,所以它没有调用我的query.js.erb文件。我想问题是我做错了什么导致它不能运行?