微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

(Ruby on Rails) 如何根据来自其他字段的输入重新呈现表单的字段?

如何解决(Ruby on Rails) 如何根据来自其他字段的输入重新呈现表单的字段?

我正在 6.1.2.1 版本中做我的第一个 Rails 项目,我有一个表单,我想根据另一个字段的当前值显示一个字段的只读值。

该表单创建了一个 Dinosaur 对象,其统计数据将根据其物种而有所不同。我在数据库中有 Species 对象,并且我已经成功地根据 Species 加载了统计信息——但只有在加载页面时选择的 Species。当物种选择发生变化时,如何使统计字段重新呈现?

这是我当前的代码。我环顾了表单助手 API 和诸如 onChange 方法之类的东西,但是我从那里尝试过的任何内容实际上都没有重新渲染字段。更改选择后,我目前拥有的内容没有任何作用。

// This constant is written in column C for rows for which an email
// has been sent successfully.
var EMAIL_SENT = 'EMAIL_SENT';

/**
 * Sends non-duplicate emails with data from the current spreadsheet.
 */
function sendEmails2() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2; // First row of data to process
  var numRows = 2; // Number of rows to process
  // Fetch the range of cells A2:B3
  var datarange = sheet.getRange(startRow,1,numRows,3);
  // Fetch values for each row in the Range.
  var data = datarange.getValues();
  for (var i = 0; i < data.length; ++i) {
    var row = data[i];
    var emailAddress = row[0]; // First column
    var message = row[1]; // Second column
    var emailSent = row[2]; // Third column
    if (emailSent !== EMAIL_SENT) { // Prevents sending duplicates
      var subject = 'Sending emails from a Spreadsheet';
      MailApp.sendEmail(emailAddress,subject,message);
      sheet.getRange(startRow + i,3).setValue(EMAIL_SENT);
      // Make sure the cell is updated right away in case the script is interrupted
      SpreadsheetApp.flush();
    }
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。