【发布时间】:2017-01-15 14:23:34
【问题描述】:
我正在更新我大约 2 年前创建的网站。这是我第一个真正的网站,但我犯了一些错误(有些错误比其他人更严重)。
显然我最大的一项工作是从视图中调用数据库。
我非常确定有更好的方法来做到这一点:
用例:
- 有人填写了一个新主题的表格,填充了主题表,他们被标记为“已注册”,Subject.enrolled = 1
- 基于此,我现在需要在其他 5 个表(如 Baseline)中创建一条记录
-
从这里下坡,这是我的方法
-
根据Subject(sub)中的subject_id判断记录是否存在
<$ if Baseline.where(subject_id: sub.subject_id).first != nil $> -
如果不存在,则创建记录,(否则显示链接)
<%= Baseline.create(subject_id: sub.subject_id) %>
-
这一切都发生在视图中,并创建一个前端表,其中包含指向流程中每条记录的链接。所以我正在基于 for-loop 逻辑创建记录...
问题: 所以我在寻找方向。我不想猜测如何做到这一点——我很确定模型/控制器应该这样做——我想学习如何正确地做到这一点。如何根据表中的值自动创建记录?
感谢您的宝贵时间。
【问题讨论】:
-
我想知道您是否可以使用 Form 对象:stratus3d.com/blog/2015/04/04/…
标签: ruby-on-rails ruby database model-view-controller