Ruby on rails Rails:textfield列表到字符串数组

Ruby on rails Rails:textfield列表到字符串数组,ruby-on-rails,view,crud,Ruby On Rails,View,Crud,我想从文本字段中获取输入,并将其转换为字符串数组。提交post请求后,我想再次显示textfield,但在数组中包含textfield的值 我的观点是: <% form_tag "/list2array" do -%> <%= text_area_tag "mylist" %> <div><%= submit_tag 'save' %></div> <% end -%> <% @myArray.each do

我想从文本字段中获取输入,并将其转换为字符串数组。提交post请求后,我想再次显示textfield,但在数组中包含textfield的值

我的观点是:

<% form_tag "/list2array" do -%>
  <%= text_area_tag "mylist" %>
<div><%= submit_tag 'save' %></div>
<% end -%>


<% @myArray.each do |item| %>
    <%= item %>
<% end %>

作为控制器的开始:

class List2ArrayController < ApplicationController  
  def index
  end

  def save
   @myArray = params[:mylist].split("\r\n")
  end

end
class List2ArrayController
但是,在文章之后,我从上一篇文章中只得到一个空的textfield,数组中没有值


我的实验需要使用模型层吗?怎么用?或者我需要修改控制器吗?

排序回答:是。您需要使用某种形式的数据存储,可以是模型,也可以将其存储在会话中。这些都不是国家的延续

如果您有一个模型,您可以添加一个名为mylist和mylist_array的属性(您可以对数组使用serialize)。然后使用setter或before_validations回调设置mylist_数组的值,就像您在示例中所做的那样

有一点自相矛盾:在save方法的末尾添加以下内容将使您的实验工作正常,但您需要首先修复表单post url,或者手动为其添加一个路由

render :index 

谢谢你的指点。实际上,我希望能够通过一个文本字段插入大量或一批记录。现在还没有找到解决方案,但这已经是某种形式:确实,对REST路由有一些了解是必要的。Rails指南是一个很好的资源,这可能会有帮助: