Ruby on rails 在RoR中提交之前,如何获取模型方法中属性的值?

Ruby on rails 在RoR中提交之前,如何获取模型方法中属性的值?,ruby-on-rails,stimulusjs,Ruby On Rails,Stimulusjs,假设我有一个属性:例如,出生年份和另一个字段:年龄(只读),我填写出生年份。我在一个模型中创建了一个方法来计算年龄,年龄是如何在视图中填充的?这里是我做的一个简短代码片段,应该可以为您设置正确的路径(使用javascript,但没有注释中提到的ruby on rails) document.getElementById(“日期”).value获取id为“日期”的元素的值。你只需要把日期(我假设它只是出生年份)减去2020年 Date of birth: <input type="

假设我有一个属性:例如,出生年份和另一个字段:年龄(只读),我填写出生年份。我在一个模型中创建了一个方法来计算年龄,年龄是如何在视图中填充的?

这里是我做的一个简短代码片段,应该可以为您设置正确的路径(使用javascript,但没有注释中提到的ruby on rails)

document.getElementById(“日期”).value
获取id为“日期”的元素的值。你只需要把日期(我假设它只是出生年份)减去2020年

Date of birth: <input type="int" id="date">
Age: <input type="int" id="age">

<p>Click the button to get the age!</p>

<button onclick="myFunction()">Try it</button>

<script>
function myFunction() {
  document.getElementById("age").value = 2020 - document.getElementById("date").value;
}
</script>

只要按enter键或在文本区域外单击,
onchange
事件将立即触发。

您想要一个仅适用于ruby on rails的答案吗?因为这可以通过一个小的javascript代码来完成。我甚至在提交表单之前都不知道如何用ruby计算年龄。@victorFink JS的答案是什么?:-)您可以制作一个简短的代码片段来获取字段的值,并在进行一些快速计算后填充下一个字段。我现在真的无法回答,因为我不知道属性
:year\u of_birth
中包含了什么。它是一个字符串(即'05/07/1991')还是仅仅是一个int(即1991)?hi@victoFink是否也可以不点击按钮?我想的更多的是出生年份的改变
Date of birth: <input type="int" id="date" onchange=myFunction()>
Age: <input type="int" id="age">

<p>Fill the first area with a year to get the age!</p>

<script>
function myFunction() {
  document.getElementById("age").value = 2020 - document.getElementById("date").value;
}
</script>