Rails:使字符串成为 Rails 3 中的主键

Lea*_*cim 1 ruby-on-rails ruby-on-rails-3

我正在尝试将 Sinatra 应用程序(使用书中的食谱)重新创建到 Rails 中。Sinatra 应用程序使用 data_mapper,它允许您使用 :key => true 将字符串设置为主键

 include DataMapper::Resource
  property  :identifier,  String, :key => true
  property  :created_at,  DateTime 
Run Code Online (Sandbox Code Playgroud)

我不确定如何在 Rails 3 中执行此操作。您能解释一下如何将标识符字符串设置为主键吗?

另一个问题可能是我正在 sqlite3 上进行开发,但最终将使用“pg”托管在 Heroku 上。如果这让事情变得过于复杂,请假装我只使用 sqlite3

Art*_*ves 5

在 rails 3.2+ 上,您还需要通过id: false,类似这样的

create_table :products, id: false do |t|
  t.string :identifier, :primary_key => true
end
Run Code Online (Sandbox Code Playgroud)