我是铁轨上的新手。
在我的表格中,我得到的字符串如“123,xxx_new item,132,xxx_test”
如果项目以“xxx_”开头而不是其意味着我应该将项目添加到数据库中,否则输入值
这是我的代码,我确信有更好的方法来编写此代码
tags = params[:station][:tag_ids].split(",")
params[:station][:tag_ids] = []
tags.each do |tag|
if tag[0,4] =="xxx_"
params[:station][:tag_ids] << Tag.create(:name => tag.gsub('xxx_', '')).id
else
params[:station][:tag_ids]<< tag
end
end
我正在寻找如何改进我的代码语法
答案 0 :(得分:0)
怎么样:
tags = params[:station][:tag_ids].split(',')
params[:station][:tag_ids] = tags.each_with_object([]) do |tag, array|
array << tag.start_with?('xxx_') ? Tag.create(name: tag[4..-1]).id : tag
end