代码之家  ›  专栏  ›  技术社区  ›  poseid

rails:textfield列表到字符串数组

  •  0
  • poseid  · 技术社区  · 16 年前

    我想从文本字段中获取输入并将其转换为字符串数组。提交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
    

    但是,在post之后,我只得到一个空的textfield,上面的post数组中没有值。

    我的实验需要使用模型层吗?怎样?还是需要修改控制器?

    1 回复  |  直到 16 年前
        1
  •  1
  •   MatthewFord    16 年前

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

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

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

    render :index