我有一个表单,允许用户在文本框的每一行输入一个关键字,然后将其拆分,我为每个单词创建单独的记录。
我正在使用以下ActiveRecord::Base.transaction
来确保我的验证得到满足,并且只有在输入的每个关键字的验证通过时才会添加记录。
respond_to do |format|
begin
ActiveRecord::Base.transaction do
@keywords.each &:save!
logger.info @keywords
format.js { render action: 'show', status: :created, location: group_keywords_path }
end
rescue ActiveRecord::ActiveRecordError => e
format.js { render json: @keyword.errors, status: :unprocessable_entity }
end
end
我遇到的问题是,show.js.erb
,@keyword
没有id
,但是还有其他所有数据,为什么?
如果在渲染show动作之前记录@keywords
的输出,我可以看到以下内容
[#<Keyword id: 141, group_id: 14, keyword: "a keyword", created_at: "2015-06-15 11:28:31", updated_at: "2015-06-15 11:28:31">]
为什么不传递此id
?