我想在UJS中使用DRYingly,而不是重复javascript的片段。
我还希望根据从控制器获得的变量来运行特定的js代码。
例如,这可能是ujs响应中的代码类型
<% if !flash[:error].blank? %>
alert("there is an error! - <%= flash[:error] %>");
<% else %>
alert("nothing to see here, move along now.. <%= flash[:success] %>");
<% end %>所以我想在几个ujs响应中触发这段代码,但我不知道把它放在哪里。帮助文件是用于html的..
我可以把这样的js/erb混合代码放在哪里,这样它就可以重用--这样我就可以从任何.js.erb文件中调用它?
发布于 2013-06-06 21:30:20
可以使用以下语法从js.erb中渲染部分:
<%= render :partial => "shared/alerts" %>只需将上面的代码放入相应目录中的部分文件中。在上面的示例中,文件名为_alerts.js.erb,您可以将部分文件放在名为shared的目录中(该目录位于views目录中),但您可以选择您认为合适的任何目录。
https://stackoverflow.com/questions/16963069
复制相似问题