Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在POST操作后获取表id_Ruby On Rails_Ruby_Redmine_Redmine Plugins - Fatal编程技术网

Ruby on rails 如何在POST操作后获取表id

Ruby on rails 如何在POST操作后获取表id,ruby-on-rails,ruby,redmine,redmine-plugins,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

我的型号是Boxelement.rb

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

    {"name"=>"fwqfew", "project_id"=>"1", "author_id"=>"1", "private_flag"=>"0"} 
但是我需要知道新创建的行的id。
如何获取它?

参数哈希将没有id,因为在调用save时分配了id。因此,即使在执行保存后访问参数,Rails也不会更新参数散列。您只需直接在@boxelment上访问id:

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

params散列没有id,因为在调用save时分配了该id。因此,即使在执行保存后访问参数,Rails也不会更新参数散列。您只需直接在@boxelment上访问id:

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

params散列没有id,因为在调用save时分配了该id。因此,即使在执行保存后访问参数,Rails也不会更新参数散列。您只需直接在@boxelment上访问id:

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

params散列没有id,因为在调用save时分配了该id。因此,即使在执行保存后访问参数,Rails也不会更新参数散列。您只需直接在@boxelment上访问id:

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


用puts@boxelment.id替换puts params[:boxelment]好吗?你能更精确一点吗?控制器中的代码是什么。你能发布吗?@HeliosdeGuerra,非常感谢,它起了作用。酷,我想我会把它写下来作为答案…当然,请把它写下来作为答案。替换puts params[:boxelment]使用puts@boxelment.id?你能更精确一点吗?你的控制器中的代码是什么。你能发布它吗?@HeliosdeGuerra,非常感谢,它起了作用。酷,我想我会把它写下来作为答案…当然,请把它写下来作为答案。替换puts参数[:boxelment]使用puts@boxelment.id?你能更精确一点吗?你的控制器中的代码是什么。你能发布它吗?@HeliosdeGuerra,非常感谢,它起了作用。酷,我想我会把它写下来作为答案…当然,请把它写下来作为答案。替换puts参数[:boxelment]使用puts@boxelment.id?你能更精确一点吗?你的控制器中的代码是什么。你能发布它吗?@Heliosdegurera,非常感谢,它起了作用。酷,我想我会把它写下来作为答案…当然,请写下来作为答案。