Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails—如何让表单将来自多个输入的数据保存为散列_Ruby On Rails_Ruby_Ruby On Rails 4_Form For - Fatal编程技术网

Ruby on rails Rails—如何让表单将来自多个输入的数据保存为散列

Ruby on rails Rails—如何让表单将来自多个输入的数据保存为散列,ruby-on-rails,ruby,ruby-on-rails-4,form-for,Ruby On Rails,Ruby,Ruby On Rails 4,Form For,我正在构建一个包含html表的页面,用户可以在其中选择表头中的名称和表行中的内容 用户将把信息输入到表单中,表单将被解析成散列并保存到数据库中 下面是一个示例,其中:key将是散列(表标题文本)的键,:value将是散列(表列内容)中的值 我可以创建一个新的数据库表,该表与页面数据库有许多关联,并将信息存储在该表中。然后,当我需要渲染视图时,可以将该数据重建为散列 但是,如果我可以将整个散列保存到页面DB中的一列中,那么我就不必在每次有人访问该页面时重新生成散列 我正在努力想出如何在的表单中

我正在构建一个包含html表的页面,用户可以在其中选择表头中的名称和表行中的内容

用户将把信息输入到表单中,表单将被解析成散列并保存到数据库中

下面是一个示例,其中
:key
将是散列(表标题文本)的键,
:value
将是散列(表列内容)中的值


我可以创建一个新的数据库表,该表与
页面
数据库有许多关联,并将信息存储在该表中。然后,当我需要渲染视图时,可以将该数据重建为散列

但是,如果我可以将整个散列保存到
页面
DB中的一列中,那么我就不必在每次有人访问该页面时重新生成散列

我正在努力想出如何在
表单中实现这一点

第一个问题是它需要
页面
表中的
列。一个简单的解决方法是将所有输入更改为
(对于
html\u表
页面
表中的
列)。但是它将无法区分散列中的键和值。我也没有办法告诉它把信息放到一个散列中,然后存储到
页面
表的
html\u表
列中


不确定这是否是可能的事情,但在我继续构建
有许多关联表并以这种方式进行设置之前,问一下也无妨。

我对你的问题感到困惑

您不能在控制器操作中构建这样的散列吗

html_table = {
    params[:key1] => params[:value1],
    params[:key2] => params[:value2],
    params[:key3] => params[:value3],
    params[:key4] => params[:value4]
}
然后将其保存到
@page.html_table
属性

编辑:

在本例中,表单与特定对象的属性无关。因此,您应该使用form_标记()而不是form_for()

例如:

<%= form_tag "/pages_controller/build_html_table" do %>
  <%= text_field_tag "key1" %>
  <%= text_field_tag "value1" %>
  <%= submit_tag "Save" %>
<% end %>


这是可能的,但是表单会是什么样子
text\u字段:key1
没有
f.
?@user3234020是的,您应该使用不同的帮助程序。查一下编辑好的,我明天试一试。
<%= form_tag "/pages_controller/build_html_table" do %>
  <%= text_field_tag "key1" %>
  <%= text_field_tag "value1" %>
  <%= submit_tag "Save" %>
<% end %>