我正在构建一个应用程序,用户可以根据各自表中可用的组件(例如,主板表,cpus表等)自定义pc(系统)中的组件。
我希望用户能够通过系统表单中的下拉列表选择选择组件。
我已经能够通过像这样使用collection_select来实现这个目标
<%= collection_select(:system, :motherboard_id, Motherboard.all, :id, :model, prompt: true) %>
但是,collection_select显示表中的所有组件,我希望只显示那些具有available: true
属性的组件。
我试过了
<%= collection_select(:system, :motherboard_id, Motherboard.any? {|mobo| mobo.available?} , :id, :model, prompt: true) %>
会产生undefined method 'map' for false:FalseClass
screenshot:
我考虑添加一个before_save
回调来检查每个项目的可用性,但如果这不是让它工作的唯一方法,我认为这对于UX来说是一个糟糕的决定
答案 0 :(得分:0)
您可以使用
function myFunctions() {
var sourceSpreadsheet = SpreadsheetApp.openById(); // source spreadsheet
var sheets = sourceSpreadsheet.getSheets(); // array of sheets
var targetSpreadSheet = SpreadsheetApp.openById();
var targetSheet = targetSpreadSheet.getSheetByName('Main'); //
for(var i=1; i < sheets.length;i++){
// var temp = i;
var tempval = sheets[i].getRange(2,1,1,2).getValues();
var lastrow = targetSheet.getLastRow(); // Is ts targetSheet?
var lastcol = targetSheet.getLastColumn(); // Is ts targetSheet?
targetSheet.getRange(lastrow + 1, lastcol + 1, 1, 2).setValues(tempval);
}
}