在我的rails应用程序中,我有一个text_field,在按下按钮后将字符串值插入到数据库中。但是我想用text_area替换text_field并将每一行作为新记录插入到我的DB中。我使用的是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
我几乎知道自己要做什么,但是在哪里必须将列表解析为控制器或模型?
谢谢。
答案 0 :(得分:1)
换行符由字符串上的\n
表示。知道了这一点,在控制器上你可以获得text_area参数,比如params[:text_area]
,并使用String#split
方法根据换行符的数量将此String转换为n个位置的数组。
string_array = params[:text_area].split("\n")
# do your stuff with the array of strings
答案 1 :(得分:0)
为了解决这个问题,我做了这个:
keyword_array = keyword_params[:name].split("\r\n")
def keyword_params
params.require(:keyword).permit(:name)
end