Hello,
I just updated my installation to 0.6.2 with gem update and followed
the instructions, did rake db:migrate and all that. Now, when I want
to save a page, I get this:
Any idea why?
Processing PageController#edit (for 192.93.23.254 at 2007-06-26
10:49:34) [POST]
Session ID: 42454526596a79897360bb3e7633a97d
Parameters: {“commit”=>“Save Changes”, “part”=>{“0”=>{“name”=>“body”,
“filter_
id”=>“Textile”, “content”=>"<div class=“left”>\r\n
!/images/leviathan.png(Eye
with Pyramid)!\r\n\r\n\r\n<div class=“main”>\r\n\r\nCalife is
small pro
gram that enable a system administrator to become root (or another user)
on his/
her machines without giving the root password but his/her
own.\r\n\r\nThe most i
[…]
ry famous french comic taking place in an turkish/mideast country
whereas the pr
incipal character - the Grand Vizir named “Iznogoud” - is always
making plans
to become “Calife” in place of the “Calife”.\r\n"}},
“action”=>“edit”, “id”=
“8”, “controller”=>“admin/page”, “page”=>{“slug”=>“calife”, “class_name”=>“Page
“, “title”=>“Calife: how to become root (or another user) with one’s own
passwor
d”, “breadcrumb”=>“Calife: how to become root (or another user) with
one’s own p
assword”, “lock_version”=>””, “status_id”=>“100”, “layout_id”=>""}}
NoMethodError (undefined method +' for nil:NilClass): /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/activerecord/li b/active_record/locking/optimistic.rb:64:in
update_without_callbacks’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/activerecord/li
b/active_record/callbacks.rb:267:in update_without_timestamps' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/activerecord/li b/active_record/timestamp.rb:48:in
update’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/activerecord/li
b/active_record/base.rb:1789:in create_or_update_without_callbacks' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/activerecord/li b/active_record/callbacks.rb:242:in
create_or_update’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/activerecord/li
b/active_record/base.rb:1545:in save_without_validation' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/activerecord/li b/active_record/validations.rb:752:in
save_without_transactions’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/activerecord/li
b/active_record/transactions.rb:129:in save' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/activerecord/li b/active_record/connection_adapters/abstract/database_statements.rb:59:in
trans
action’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/activerecord/li
b/active_record/transactions.rb:95:in transaction' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/activerecord/li b/active_record/transactions.rb:121:in
transaction’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/activerecord/li
b/active_record/transactions.rb:129:in save' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/app/controllers/admin/page_c ontroller.rb:110:in
save’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/app/controllers/admin/abstra
ct_model_controller.rb:116:in handle_new_or_edit_post' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/app/controllers/admin/page_c ontroller.rb:25:in
edit’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/
action_controller/base.rb:1095:in send' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/ action_controller/base.rb:1095:in
perform_action_without_filters’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/
action_controller/filters.rb:632:in call_filter' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/ action_controller/filters.rb:638:in
call_filter’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/
action_controller/filters.rb:438:in call' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/ action_controller/filters.rb:637:in
call_filter’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/
action_controller/filters.rb:638:in call_filter' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/ action_controller/filters.rb:438:in
call’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/
action_controller/filters.rb:637:in call_filter' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/ action_controller/filters.rb:638:in
call_filter’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/
action_controller/filters.rb:438:in call' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/ action_controller/filters.rb:637:in
call_filter’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/
action_controller/filters.rb:619:in perform_action_without_benchmark' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/ action_controller/benchmarking.rb:66:in
perform_action_without_rescue’
/usr/local/lib/ruby/1.8/benchmark.rb:293:in measure' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/ action_controller/benchmarking.rb:66:in
perform_action_without_rescue’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/
action_controller/rescue.rb:83:in perform_action' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/ action_controller/base.rb:430:in
send’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/
action_controller/base.rb:430:in process_without_filters' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/ action_controller/filters.rb:624:in
process_without_session_management_support’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/
action_controller/session_management.rb:114:in process_without_test' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/ action_controller/test_process.rb:15:in
process’
/usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/actionpack/lib/
action_controller/base.rb:330:in process' /usr/local/lib/ruby/gems/1.8/gems/radiant-0.6.2/vendor/rails/railties/lib/di spatcher.rb:41:in
dispatch’
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:78:in
process' /usr/local/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:76:in
synchronize’
Line 64 in optimistic.rb is
def update_with_lock #:nodoc:
return update_without_lock unless locking_enabled?
lock_col = self.class.locking_column
previous_value = send(lock_col)
send(lock_col + '=', previous_value + 1) <<<<<<< line 64
affected_rows = connection.update(<<-end_sql,
“#{self.class.name} Update
with optimistic locking”)
UPDATE #{self.class.table_name}
SET #{quoted_comma_pair_list(connection,
attributes_with_quotes(false)
)}
WHERE #{self.class.primary_key} = #{quote_value(id)}
AND #{self.class.quoted_locking_column} =
#{quote_value(previous_value
)}
end_sql
unless affected_rows == 1
raise ActiveRecord::StaleObjectError, "Attempted to update a
stale obj
ect"
end
return true
end