Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 5th, 2012  |  syntax: None  |  size: 1.79 KB  |  hits: 11  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. require "rubygems"
  2. require "datamapper"
  3.  
  4. DataMapper.setup(:default, "sqlite::memory:")
  5. DataMapper::Logger.new(STDOUT, :debug)
  6.  
  7. class Recipe
  8.   include DataMapper::Resource
  9.  
  10.   property :id,           Serial
  11.   property :name,         String, :required => true,
  12.     :messages => {
  13.       :presence => 'A recipe requires a name.'
  14.       }
  15.   property :slug,         Slug, :required => true, :unique => true,
  16.     :messages => {
  17.       :presence   => 'A slug is required!',
  18.       :is_unique  => 'That slug is already in use.'
  19.       }
  20.   property :description,  Text, :required => true
  21.   property :preptime,     Integer, :default => 0
  22.   property :cooktime,     Integer, :default => 0
  23.  
  24.   belongs_to :user
  25.   # has n, :comments
  26.   # has n, :favorites
  27.  
  28. end
  29.  
  30. class User
  31.   include DataMapper::Resource
  32.  
  33.   property :id,               Serial
  34.   property :login,            String, :required => true, :unique => true, :length => 6..64,
  35.     :messages => {
  36.       :presence  => 'A login is required.',
  37.       :is_unique => 'That login is taken!'
  38.       }
  39.  
  40.   has n, :recipes
  41.   # has n, :comments
  42.   # has n, :favorites
  43.  
  44. #other unrelated stuff here.
  45. end
  46.  
  47. DataMapper.auto_migrate!
  48.  
  49. #Problem code
  50. user = User.create(
  51.   :login => 'CannedUser'# ,
  52.   #   :password => 'abc456',
  53.   #   :password_confirmation => 'abc456'
  54. )
  55.  
  56. useher = User.create(
  57.   :login => 'CannedUseher'# ,
  58.   #   :password => 'abc456',
  59.   #   :password_confirmation => 'abc456'
  60. )
  61.  
  62. recipe = Recipe.create(
  63.   :name => "Canned Brownies",
  64.   :description => "A description of a recipe.",
  65.   :slug => "Canned_Brownies",
  66.   :user => user
  67. )
  68.  
  69. slug = "Canned Brownies"
  70. # user = User.create(:login => "my_special_user")
  71. # Recipe.create(:user => user, :name => "test", :slug => slug, :description => "value")
  72.  
  73. recipe = Recipe.first(:slug => slug)
  74. user = recipe.user
  75. p user
  76. #recipe.user = 1 (the id); not an object