你如何使用Ruby on Rails响应控制器中的另一个js文件?

我基本上有一个动作,因为逻辑需要返回另一个js文件的内容。 我该怎么做呢? 谢谢

应用程序/控制器/ classrooms_controller.rb

def create if params[:test_logic] respond_to do |format| format.js { render 'create_differently' } # This doesn't work. end else redirect_to root_path end end 

应用程序/视图/教室/ create_differently.js.erb

 alert('hi') 

你需要添加

  :layout => false 

避免为js文件呈现html布局。

另外,您可以像这样定义不同的js文件

 :template => "classrooms/create_differently.js.erb" 

两者一起:

  format.js { render :template => "classrooms/create_differently.js.erb", :layout => false } 

对于基于浏览器的测试,请注意调用js不是html!