gpt4 book ai didi

ruby-on-rails - 将填写的表格保存到数据库 - Ruby on rails

转载 作者:行者123 更新时间:2023-12-03 18:22:16 25 4
gpt4 key购买 nike

我正在尝试使用 ruby​​ on rails 向现有数据库提交表单。我做了一些研究,但都没有用。这是我的表格:https://pastebin.com/JfXr054y

这是我的 Controller :

  def landslide_params
params.require(:landslide).permit(:total_id, :year_id, :start_date, :end_date, :day_number, :continent, :country, :location, :type, :admin_level, :new_lat, :new_long, :mapped, :spatial_area, :fatalities, :injuries, :notes, :sources)
end

如何将表单链接到 Controller 。而且,表单的字段少于表列,这是一个潜在的问题吗?谢谢!

最佳答案

您对正在使用的代码中发生的事情的理解是模糊的,所以我将回顾一下您正在使用的术语以及首先表示的概念的范围:

  • 表单 是一个在 HTML 中表示为 <form> 的概念元素和一系列输入元素,并在面向对象编程中以各种方式表示为表单对象。值得注意的是,Rails 没有关于如何使用表单对象或将其用于什么目的的意见或建议。
  • 数据库是一种使用界面处理数据存储和检索的软件;大多数关系数据库使用 SQL 作为接口(interface)。
  • 当您提交一个表单时,您指示您的浏览器为action值创建一个HTTP请求<form> 上包含以输入形式存在的的标签。
  • 当浏览器向您的 Rails 应用程序发送请求时,该应用程序会使用您的路由来确定如何处理该请求
  • 在 Rails 中处理请求的常规方法是将其路由到 Controller action
  • 在 Rails 中,操作是通过在 Controller 上定义方法来创建的。

关于您的问题,表单和 Controller 之间或 Controller 中的操作之间没有“链接”,但是当提交表单时,请求会触发可以处理请求的 Controller 操作。

您可以简单地访问参数,最好使用 StrongParams(如您所示),并可能创建一个 ActiveRecord 模型的实例来验证输入并将其保存到数据库中。 ActiveRecord Basics Guide由 Rails 提供,是了解更多实际方法的好地方。

是的,提交不代表数据库列中行的值的表单是可以的。由您的代码来处理它的外观。您可以拥有一个表示数据库中多个表中的多行的表单,或者一个只表示一打列中的一列的表单。

关于ruby-on-rails - 将填写的表格保存到数据库 - Ruby on rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43592420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com