Skip to content

Instantly share code, notes, and snippets.

@ctdk
Created June 8, 2009 21:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ctdk/126075 to your computer and use it in GitHub Desktop.
Save ctdk/126075 to your computer and use it in GitHub Desktop.
# comment.rb
class Comment
include DataMapper::Resource
property :id, Integer, :serial => true
property :story_id, Integer
property :user_id, Integer
property :parent_id, Integer
property :time, DateTime
# legacy fields
# well, sid + cid is the key. Hrmph.
property :sid, String
property :cid, Integer
# and sid + pid, I think
property :pid, Integer
property :subject, String
property :recrate, Integer
property :trollrate, Integer
property :raters, Text
property :commentip, String
property :points, Fixnum # ?
belongs_to :story
belongs_to :user
has 1, :comment_text
# the bottom two aren't quite right. FIXME: fix these
belongs_to :parent, :class_name => "Comment", :child_key => [:parent_id]
has n, :children, :class_name => "Comment", :child_key => [:parent_id]
has n, :commentratings, :class_name => "CommentRating"
# other associations:
# ratings, ?
end
class CommentText
include DataMapper::Resource
property :comment_id, Integer, :key => true
property :story_id, Integer
property :comment, Text, :lazy => false
belongs_to :comment
end
## full stack
NoMethodError in CommentController#post_comment
undefined method `new_record?' for "oooh trying again, goddamn it!":String
RAILS_ROOT: /home/jeremy/dk4-exper
Application Trace | Framework Trace | Full Trace
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property.rb:450:in `lazy_load'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property.rb:390:in `get'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property_set.rb:82:in `get'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/associations/relationship.rb:74:in `map'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property_set.rb:55:in `each'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property_set.rb:55:in `each'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property_set.rb:82:in `map'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property_set.rb:82:in `get'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/associations/relationship.rb:178:in `attach_parent'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/associations/many_to_one.rb:55:in `replace'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/associations/many_to_one.rb:21:in `comment='
/home/jeremy/dk4-exper/app/controllers/comment_controller.rb:41:in `post_comment'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property.rb:450:in `lazy_load'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property.rb:390:in `get'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property_set.rb:82:in `get'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/associations/relationship.rb:74:in `map'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property_set.rb:55:in `each'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property_set.rb:55:in `each'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property_set.rb:82:in `map'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property_set.rb:82:in `get'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/associations/relationship.rb:178:in `attach_parent'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/associations/many_to_one.rb:55:in `replace'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/associations/many_to_one.rb:21:in `comment='
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/base.rb:812:in `send'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/base.rb:812:in `perform_action_without_filters'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/chained/filters.rb:607:in `call_filters'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/chained/filters.rb:600:in `perform_action_without_benchmark'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/chained/benchmarking.rb:68:in `perform_action_without_rescue'
/home/jeremy/dk4-exper/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms'
/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/home/jeremy/dk4-exper/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/chained/benchmarking.rb:68:in `perform_action_without_rescue'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/rescue.rb:45:in `perform_action_without_flash'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/chained/flash.rb:154:in `perform_action'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/base.rb:480:in `send'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/base.rb:480:in `process_without_filters'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/chained/filters.rb:596:in `process'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/base.rb:373:in `action'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/base.rb:381:in `action'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb:433:in `call'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb:433:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/head.rb:9:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/methodoverride.rb:24:in `call'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_dispatch/middleware/params_parser.rb:17:in `call'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_dispatch/middleware/session/cookie_store.rb:93:in `call'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_dispatch/middleware/rescue.rb:8:in `call'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_dispatch/middleware/callbacks.rb:35:in `call'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_dispatch/middleware/show_exceptions.rb:45:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/lock.rb:11:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/lock.rb:11:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/lock.rb:11:in `call'
/home/jeremy/dk4-exper/vendor/rails/railties/lib/rails/rack/static.rb:31:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/urlmap.rb:46:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/urlmap.rb:40:in `each'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/urlmap.rb:40:in `call'
/home/jeremy/dk4-exper/vendor/rails/railties/lib/rails/rack/log_tailer.rb:17:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/content_length.rb:13:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/chunked.rb:15:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/handler/mongrel.rb:61:in `process'
/usr/lib/ruby/1.8/mongrel.rb:159:in `process_client'
/usr/lib/ruby/1.8/mongrel.rb:158:in `each'
/usr/lib/ruby/1.8/mongrel.rb:158:in `process_client'
/usr/lib/ruby/1.8/mongrel.rb:285:in `run'
/usr/lib/ruby/1.8/mongrel.rb:285:in `initialize'
/usr/lib/ruby/1.8/mongrel.rb:285:in `new'
/usr/lib/ruby/1.8/mongrel.rb:285:in `run'
/usr/lib/ruby/1.8/mongrel.rb:268:in `initialize'
/usr/lib/ruby/1.8/mongrel.rb:268:in `new'
/usr/lib/ruby/1.8/mongrel.rb:268:in `run'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/handler/mongrel.rb:34:in `run'
/home/jeremy/dk4-exper/vendor/rails/railties/lib/commands/server.rb:110
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
script/server:3
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property.rb:450:in `lazy_load'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property.rb:390:in `get'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property_set.rb:82:in `get'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/associations/relationship.rb:74:in `map'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property_set.rb:55:in `each'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property_set.rb:55:in `each'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property_set.rb:82:in `map'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/property_set.rb:82:in `get'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/associations/relationship.rb:178:in `attach_parent'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/associations/many_to_one.rb:55:in `replace'
/usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/associations/many_to_one.rb:21:in `comment='
/home/jeremy/dk4-exper/app/controllers/comment_controller.rb:41:in `post_comment'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/base.rb:812:in `send'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/base.rb:812:in `perform_action_without_filters'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/chained/filters.rb:607:in `call_filters'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/chained/filters.rb:600:in `perform_action_without_benchmark'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/chained/benchmarking.rb:68:in `perform_action_without_rescue'
/home/jeremy/dk4-exper/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms'
/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/home/jeremy/dk4-exper/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/chained/benchmarking.rb:68:in `perform_action_without_rescue'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/rescue.rb:45:in `perform_action_without_flash'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/chained/flash.rb:154:in `perform_action'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/base.rb:480:in `send'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/base.rb:480:in `process_without_filters'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/chained/filters.rb:596:in `process'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/base.rb:373:in `action'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/base/base.rb:381:in `action'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb:433:in `call'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb:433:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/head.rb:9:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/methodoverride.rb:24:in `call'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_dispatch/middleware/params_parser.rb:17:in `call'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_dispatch/middleware/session/cookie_store.rb:93:in `call'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_dispatch/middleware/rescue.rb:8:in `call'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_dispatch/middleware/callbacks.rb:35:in `call'
/home/jeremy/dk4-exper/vendor/rails/actionpack/lib/action_dispatch/middleware/show_exceptions.rb:45:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/lock.rb:11:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/lock.rb:11:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/lock.rb:11:in `call'
/home/jeremy/dk4-exper/vendor/rails/railties/lib/rails/rack/static.rb:31:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/urlmap.rb:46:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/urlmap.rb:40:in `each'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/urlmap.rb:40:in `call'
/home/jeremy/dk4-exper/vendor/rails/railties/lib/rails/rack/log_tailer.rb:17:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/content_length.rb:13:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/chunked.rb:15:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/handler/mongrel.rb:61:in `process'
/usr/lib/ruby/1.8/mongrel.rb:159:in `process_client'
/usr/lib/ruby/1.8/mongrel.rb:158:in `each'
/usr/lib/ruby/1.8/mongrel.rb:158:in `process_client'
/usr/lib/ruby/1.8/mongrel.rb:285:in `run'
/usr/lib/ruby/1.8/mongrel.rb:285:in `initialize'
/usr/lib/ruby/1.8/mongrel.rb:285:in `new'
/usr/lib/ruby/1.8/mongrel.rb:285:in `run'
/usr/lib/ruby/1.8/mongrel.rb:268:in `initialize'
/usr/lib/ruby/1.8/mongrel.rb:268:in `new'
/usr/lib/ruby/1.8/mongrel.rb:268:in `run'
/usr/lib/ruby/gems/1.8/gems/rack-1.1/lib/rack/handler/mongrel.rb:34:in `run'
/home/jeremy/dk4-exper/vendor/rails/railties/lib/commands/server.rb:110
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
script/server:3
Request
Parameters:
{"comment"=>"oooh trying again,
goddamn it!",
"commit"=>"Post",
"authenticity_token"=>"kLhkGD2HLL4nMXiw8dH6QtdJbt+a2rHezN8zktA/lWI=",
"subject"=>"hmm?",
"parent_id"=>"0",
"story_id"=>"706926"}
Show session dump
---
Response
Headers:
None
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment