Javascript Ajax不适用于嵌套循环
In size.rb控制器Javascript Ajax不适用于嵌套循环,javascript,ruby-on-rails-4,Javascript,Ruby On Rails 4,In size.rb控制器 def show @size = Size.find(params[:id]) end def portrait_indesign custom_size=CustomSize.find(params[:id1]) size=Size.find(params[:id]) @size1=size.no_of_columns respond_to do |format| if params[:portra
def show
@size = Size.find(params[:id])
end
def portrait_indesign
custom_size=CustomSize.find(params[:id1])
size=Size.find(params[:id])
@size1=size.no_of_columns
respond_to do |format|
if params[:portrait] == "portrait"
format.js {render :action => "portrait_indesign"}
elsif params[:portrait] == "landscape"
format.js {render :action => "landscape_indesign"}
end
end
end
show.html.erb
<% @sizes.each do |size| %>
<div class="col-md-8">
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>Custom Size Name</th>
</tr>
</thead>
<% size.custom_sizes.each do |custom_size| %>
<tbody>
<tr>
<td>
<%= link_to "Portrait",portrait_indesign_path(size.id,:id1=>custom_size.id,:portrait=>"portrait"),:remote=>true,:id=>"portrait1", :class => "btn btn-default btn-xs" %> |
<%= link_to "Landscape",portrait_indesign_path(size.id,:id1=>custom_size.id,:portrait=>"landscape"),:remote=>true,:id=>"portrait2",:class => "btn btn-default btn-xs"%>
</td>
</tr>
</tbody>
<% end%>
</table>
<div id="modal-box" style="display:none;"></div>
</div>
<% end%>
在trait_indesign.js中
$("#modal-box").replaceWith("<%= escape_javascript(render :partial => "sizes/portrait_indesign") %>");
$(“#模式框”)。替换为“(“尺寸/纵向设计”)%>”;
在_trait_indesign.html.erb中
<html>
<body>
<a id="download_file" href="."><button type="submit" value="Ok" id="ok" class = "btn btn-default btn-xs">Download Portrait Template - <%= @sizeName%></button></a>
</body>
</html>
<script>
'<%=@size1%>'
var txt = document.getElementById('download_file');
document.getElementById("download_file").setAttribute("href", "");
txt.value ='var myDocument = app.documents.add();pageHeight = "800pt";pageWidth = "600pt";myDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.points;myDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.points;myDocument.viewPreferences.rulerOrigin = RulerOrigin.pageOrigin;var myMasterSpread = myDocument.masterSpreads.item(0); var myMarginPreferences = myMasterSpread.pages.item(0).marginPreferences;myMarginPreferences.columnCount = '+'<%=@size1%>'+';myMarginPreferences.columnGutter = 14;';
document.getElementById('download_file').onclick = function(code) { document.getElementById("download_file").setAttribute("download", '<%=@sizeName%>'+"_portrait.jsx");
this.href = 'data:text/x-csrc;charset=utf-8,'
+ encodeURIComponent(txt.value);
window.location.reload(true);
};
</script>
''
var txt=document.getElementById('download_file');
document.getElementById(“下载_文件”).setAttribute(“href”,”);
txt.value='var myDocument=app.documents.add();pageHeight=“800pt”;pageWidth=“600pt”;myDocument.viewPreferences.horizontalMeasurementUnits=MeasurementUnits.points;myDocument.viewPreferences.VerticalMeasureUnits=MeasurementIts.points;myDocument.viewPreferences.rulerOrigin=rulerOrigin.pageOrigin;var myMasterSpread=myDocument.masterSpreads.item(0);var myMarginPreferences=myMasterSpread.pages.item(0).marginPreferences;myMarginPreferences.columnCount='+''+';myMarginPreferences.ColumnGotter=14;';
document.getElementById('download_file').onclick=function(code){document.getElementById('download_file').setAttribute('download',''+“_-grait.jsx”);
this.href='data:text/x-csrc;charset=utf-8,'
+encodeURIComponent(txt.value);
window.location.reload(true);
};
就像我写的grait_indesign.js和_grait_indesign.html.erb一样。
当我点击纵向按钮时,下载按钮将出现在我可以下载相应代码的地方。在点击下载按钮之前,如果我点击了横向按钮,但横向下载按钮没有出现。它仍然是在肖像下载按钮只。刷新页面后,它工作正常。