Rails:如何选择要呈现控制器动作的js文件?

0bs*_*r07 6 ajax ruby-on-rails actioncontroller ruby-on-rails-4

我知道默认情况下Rails选择javascript文件取决于要呈现的操作名称:

例如,如果我有

def create
     #Code and Stuff happening here
end
Run Code Online (Sandbox Code Playgroud)

我在这里

create.js.erb
Run Code Online (Sandbox Code Playgroud)

这将默认运行

但有没有办法可以从动作中选择一个不同的javascript文件?

例如

create1.js.erb
create2.js.erb
Run Code Online (Sandbox Code Playgroud)

小智 12

您需要添加以下内容:

respond_to do |format|
  format.js { render :create1 }
end
Run Code Online (Sandbox Code Playgroud)

或者,如果你有一个不同的路径,除了默认值,你可以使用:

format.js { render :file => "/path/to/save.js.erb" }
Run Code Online (Sandbox Code Playgroud)

如果它是一个比这更动态的要求,你总是可以使用字符串插值或"string".to_sym来呈现所需的视图.