ruby-on-rails - 如何使列依赖于一个模型中的其他列
问题描述
- 有一个模型
Pair
由 3 个字符串字段组成:arr1
,arr2
,arr3
- 我输入 和
arr1
的arr2
值 - 我希望值由比较和之后的
arr3
相似数字组成arr1
arr2
arr1
arr2
我不确定将代码放在哪里进行比较 arr1
,arr2
因为它在方法
中不起作用:new
PairsController
@pair = Pair.find(params[:id])
@A = @pair.arr1.split & @pair.arr2.split
@arr3 = @A.join(" ")
arr1
, arr2
,arr3
在表中的输出:
...
<td><%= pair.arr1 %></td>
<td><%= pair.arr2 %></td>
<td><%= pair.arr3%></td>
...
布局中 arr1 和 arr2的输入:
...
<p><%= f.text_field :arr1 %></p>
<p><%= f.text_field :arr2 %></p>
...
表格现在的样子:https ://i.imgur.com/43olFAi.png
我应该在哪里放置比较代码以及如何将值发送到arr3
?
解决方案
有很多很多方法可以做到这一点。
例如在你的模型中使用一些回调。
class Pair < ApplicationRecord
before_save :set_up_arr3
def set_up_arr3
self.arr3 = (arr1.split & arr2.split).join(" ")
end
end
推荐阅读
- pyspark - 将一列中的分钟添加到另一列 pyspark 中的时间戳
- javascript - 与不同的父母一起抓取图像和文本
- python - Pandas中时间戳行的差异,每次都会更新差异条件
- r - 我可以用 R 中空间聚集的组创建一个共现网络吗?
- ms-access - Access 工具中的本地表对一个特定用户打开速度很慢
- scala - 无法使用 spark writestream 将 json 文件写入 hdfs
- node.js - 如何使用firebase云功能监听特定地图的变化
- css - 博客上的赫斯提亚页脚
- python - 使用 pandas 进行高级计算(如果下一个单元格更大,则记下值,合并)
- excel - 在 inputBox 中使用数组