如何在POST操作后获取表id

时间:2014-04-30 04:00:35

标签: ruby-on-rails ruby redmine redmine-plugins

我必须在提交表单后获得行ID。

我的模型是Boxelement.rb

    def create
        if @boxelement.save
                puts params[:boxelement]
        end
    end

输出是:

    {"name"=>"fwqfew", "project_id"=>"1", "author_id"=>"1", "private_flag"=>"0"} 

但是我需要知道新创建的行的id。 我怎么能得到它?

1 个答案:

答案 0 :(得分:3)

params hash赢得了id,因为在你调用save时分配了id。因此,即使您在执行保存后访问了params,Rails也不会更新params哈希值。您只需要直接在@boxelment上访问ID:

def create
  @boxelment = Boxelement.new(params[:boxelement])
  if @boxelement.save
    puts @boxelement.id
  end
end