在Rails(3.2.6)应用程序中,我的Ruby(1.9.3p194(2012-04-20 revision 35410)[x86_64-linux])出现问题:我需要执行一个js文件,但我只能打印它。Rails渲染js文件,但无法执行它
查看:
291 <%= form_for :change_top_ten, remote: true, url: {controller: :users, action: :change_top_ten, format: :js} do |f| %>
292 <%= f.select :status, options_for_select(@categories_and_interests, selected: "tutti"), {class: :'deafult-select'}, onchange: "this.form.submit();" %>
293 <% end %>
控制器:
1658 def change_top_ten
1659 @filter = params[:change_top_ten][:status]
1660 end
change_top_ten.js.erb
1 alert('here');
服务器日志:
Started POST "/change_top_ten.js" for 10.0.2.2 at 2015-10-29 10:30:10 +0000
Processing by UsersController#change_top_ten as JS
Parameters: {"utf8"=>"✓", "authenticity_token"=>"+v0oW+p0fy9IxpfbaKTj7g9yZSzffK+SQG52Mx3vjwQ=", "change_top_ten"=>{"status"=>"prof_2"}}
User Load (56.4ms) SELECT "users".* FROM "users" WHERE "users"."has_confirmed" = 't' AND "users"."id" = ? LIMIT 1 [["id", 13]]
Rendered users/change_top_ten.js.erb (0.1ms)
Completed 200 OK in 154.7ms (Views: 34.9ms | ActiveRecord: 66.0ms)
该文件呈现为html页面:带有“alert('here')”的空白页面;“印在上面。
编辑: 我编辑的问题回复的第一个注释:
的application.js
1 // This is a manifest file that'll be compiled into application.js, which will include all the files
2 // listed below.
3 //
4 // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5 // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6 //
7 // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8 // the compiled file.
9 //
10 // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11 // GO AFTER THE REQUIRES BELOW.
12 //
13 //# require angular
14 //= require jquery
15 //= require jquery_ujs
16 //= require jquery.countdown
17 //= require jquery.remotipart
18 //# require_tree .
jQuery是进口的,因为我有其他电话像这里描述的和thery被工作正常
你不缺少轨-的jQuery JavaScript的?即'// =在'application.js'中需要jquery_ujs'行? –
我想你的问题在这里得到解答 [rails form submission with remote => true](http://stackoverflow.com/questions/20628013/rails-form-submission-with-remote-true-js-file-renders-但是不执行) –
请检查服务器日志中的请求'content-type'。我确定它会是'application/text' –