2013-01-11 79 views
0

创建记录时,它具有自动生成的标识。我想要得到它。如何在创建记录时获取自动生成的ID?

我在Ruby On Rails中创建了一个名称表。

我进入了四个名字:

  • 阿龙
  • 胆红素
  • 希拉里
  • 埃雷兹

在我的桌子,还有一个自动识别,对不对?名称'Alon'分配id = 1,依此类推 - 名称'Erez',id = 4。这个ID不是我在表格中定义的ID。

我用另一个词解释:

当我输入名字“阿龙”功能“显示”,它看起来像:http://localhost:3000/mycontroller/1。 (我认为, '1' 是其中名称 '阿龙' 在我的表中找到的ID

我怎样才能得到这个ID

def index 
    @name = Tablenames.find(:all, :conditions => ["name=?", "Alon"]); 
end 

index.html.erb:?

<% @name.each do |worker_name| %> worker_name.id <% end %> 

回答

4

当你需要的ID?创建后直接?

user = User.create(name: "Alon") 

puts user.id 

当你海为名而拼命?

user = User.find_by_name "Alon" 

puts user.id 
+0

以我控制器,I定义:@name = Tablenames.find(:所有,:条件=> [ “?名称=”, “阿龙”]); index.html.erb中的 –

+0

:<%@ name.each do | worker_name | %> worker_name.id <% end %>它不允许我使用阿隆的ID。没有带参数“id”的列。 –

+0

你可以添加相应的迁移文件给你吗?还有:你在视图中写了'worker_name'还是'worker name'?不能准确地看到它。 – Hisako

相关问题