1

在我的 rails 应用程序中,我有一个 text_field,它在按下按钮后将一个字符串值插入到数据库中。但我想用 text_area 替换那个 text_field 并将每一行作为新记录插入到我的数据库中。我正在使用 simple_form。

_form
<%= simple_form_for @keyword do |f|%>
<%=f.input :name%>
<%=f.button :submit%>
<%end%>

controller
@keyword = Keyword.new(keyword_params)
 if @keyword.save
 redirect_to :back
end

我几乎知道我必须做什么,但是我必须在哪里将列表解析为控制器或模型?

谢谢你。

4

2 回答 2

1

换行符\n在您的字符串上由 表示。知道了这一点,在您的控制器上,您可以获得 text_area 参数,类似于params[:text_area]并使用该String#split方法将此字符串转换为基于换行数的 n 个位置的数组。

string_array = params[:text_area].split("\n")
# do your stuff with the array of strings
于 2013-09-26T14:28:04.907 回答
0

为了解决这个问题,我这样做了:

 keyword_array = keyword_params[:name].split("\r\n")

 def keyword_params
    params.require(:keyword).permit(:name)
 end
于 2013-09-27T11:39:32.293 回答