Ruby on Rails - ActiveRecord :: Base.transaction,show action上没有id

时间:2015-06-15 11:37:34

标签: ruby-on-rails ruby activerecord transactions

我有一个表单,允许用户在文本框的每一行输入一个关键字,然后将其拆分,我为每个单词创建单独的记录。

我正在使用以下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

0 个答案:

没有答案