0
我正在开发一个Ruby on Rails应用程序。在我的控制器中,我需要多次更新表格属性。我把这个逻辑放在控制器中。如何在Ruby on Rails中一次更新多条记录?
def index
if request.post?
@user_new = Bookmark.new(params[:user_new])
tags = @user_new.tags.split(",")
i=0
while i < tags.length
@user_new.update_attributes(:title => @user_new.title, :url => @user_new.url, :tags => i)
i=i+1
end
@check = "hello"
end
end
这个遍历while循环,直到达到tags数组大小。并且多次更新是使用表内的不同值完成的。
这应该会产生所有记录的更新。在数组大小为3的情况下,应该插入3条记录。但这不是偶然。任何人都可以告诉我如何使用数组插入多行记录作为每行中的区分因子吗?
对不起,它应该是“:tags => tag [i]”。这意味着数组内的每个元素都被迭代并插入。 –
你可以尝试一下爆炸(!),看看你是否有任何东西,我们可以担心那一点?你的模型中有attr_accessible吗? – simonmorley
我得到nomethoderror,如果超出这个@ user_new.tags.split(“,”)。each do | tags | tags.update_attributes(:title => @ user_new.title,:url => @ user_new.url) end。我需要更新数组值还怎么做呢? –