I have a legacy schema (that I cannot change) that I am working with,
building a quick maintenance front end using Rails. The problem is
that when I process the Update nothing happens on the Oracle system.
All the trace logs indicate the right SQL is being generated and
called, but nada happens in Oracle. I am trying to start simple and
update a single column: network_id. If you look at the logging data
you can see the SQL update seems proper, with the old value and new
value
OLD - network_id = ''sarB555''
NEW - network_id = ''sarB333''
Running on Window, Ruby 1.8.6, Rails 1.2.6, Oracle 10G
Any suggestions would be appreciated. Thanks.
Mike
Here is some code:
=== # MODEL - The object I''m trying to update
class ClientDetail < ActiveRecord::Base
cattr_reader :per_page
@@per_page = 20
set_table_name "CLIENT_DETAILS"
set_primary_key "CLIENT_DETAILS_ID"
# Relationships
has_many :client_state, :class_name => ''ClientState'',
:foreign_key
=> "CLIENT_DETAILS_ID"
# Reference Data values to get descriptions
belongs_to :user_type, :foreign_key =>
"USER_TYP_ID"
belongs_to :presence_type, :foreign_key =>
"PRESENCE_TYP_ID"
belongs_to :presence_device_type, :foreign_key =>
"PRESENCE_DEVICE_TYP_ID"
belongs_to :provider, :foreign_key =>
"PROVIDER_ID"
end
=== # CONTROLLER methods
#Load the rhtml page
def edit_client_details
@page_title = ''Update Client Detail ''
@current_client_detail = ClientDetail.find(params[:id])
end
# Save the updated network_id
def save_client_detail_changes
@current_client_detail = ClientDetail.find(params[:id])
newNetworkId = params[:current_client_detail][:network_id]
if
@current_client_detail.update_attributes(params[:network_id])
@current_client_detail.update_attribute(:network_id,
newNetworkId)
#Ive tried using this, does not work.
#@current_client_detail.network_id=newNetworkId
begin
@current_client_detail.save!
rescue
puts ''-- EEEEEEEEEEEEEEE Exception of some
kind.''
end
flash[:notice] = ''Client Details was successfully
updated.''
redirect_to :action => ''search_for_puids''
else
render :action => ''edit_client_details''
end
#redirect_to :action => ''search_for_puids''
end
=== # LOGGING OUTPUT
-------------- START #save_client_detail_changes - param[:id] : 121
============ #save_client_detail_changes - @current_client_detail:
#<ClientDetai
l:0x59355f8>
============ #save_client_detail_changes - params[:network_id] -
============ #save_client_detail_changes -
params[:current_client_detail][:netwo
rk_id] - sarB333
update_attributes for network Id happening
------------ Old Value: sarB555
------------ New Value: sarB333
127.0.0.1 - - [07/Feb/2008:12:02:53 Mountain Standard Time] "POST /
client_detail
Processing ClientDetailsNgsController#save_client_detail_changes (for
127.0.0.1 at 2008-02-07 12:02:53) [POST]
Session ID: 18cf528d3d578158af255b0df5037b49
Parameters: {"commit"=>"Edit",
"action"=>"save_client_detail_changes",
"id"=>"121",
"controller"=>"client_details_ngs",
"current_client_detail"=>{"network_id"=>"sarB333"}}
[4;35;1mClientDetail Columns (0.000000) [0m [0m select
column_name as name, data_type as sql_type, data_default, nullable,
decode(data_type, ''NUMBER'', data_precision,
''FLOAT'', data_precision,
''VARCHAR2'', data_length,
''CHAR'', data_length,
null) as limit,
decode(data_type, ''NUMBER'', data_scale, null) as scale
from all_tab_columns
where owner = ''SOMEUSER''
and table_name = ''CLIENT_DETAILS''
order by column_id
[0m
[4;36;1mClientDetail Load (0.015000) [0m [0;1mSELECT * FROM
CLIENT_DETAILS WHERE (CLIENT_DETAILS."CLIENT_DETAILS_ID" =
''121'') [0m
[4;35;1mClientDetail Update (0.016000) [0m [0mUPDATE
CLIENT_DETAILS SET presence_typ_id = 1.0, network_id =
''sarB555'',
client_details_id = 121, provider_id = 16.0, alt_user_typ_id = 1.0,
public_user_id = ''3031111111'', pres_device_id =
''a283423334335'',
pres_device_address = NULL, reg_step_typ_id = NULL, user_typ_id = 3.0,
presence_contxt = NULL, auth_id = NULL, alt_public_user_id
''3032222222'', presence_device_typ_id = 3.0, auth_scheme = NULL
WHERE
"CLIENT_DETAILS_ID" = NULL [0m
[4;36;1mClientDetail Update (0.016000) [0m [0;1mUPDATE
CLIENT_DETAILS SET presence_typ_id = 1.0, network_id =
''sarB333'',
client_details_id = 121, provider_id = 16.0, alt_user_typ_id = 1.0,
public_user_id = ''3031111111'', pres_device_id =
''a283423334335'',
pres_device_address = NULL, reg_step_typ_id = NULL, user_typ_id = 3.0,
presence_contxt = NULL, auth_id = NULL, alt_public_user_id
''3032222222'', presence_device_typ_id = 3.0, auth_scheme = NULL
WHERE
"CLIENT_DETAILS_ID" = NULL [0m
[4;35;1mClientDetail Update (0.000000) [0m [0mUPDATE
CLIENT_DETAILS SET presence_typ_id = 1.0, network_id =
''sarB333'',
client_details_id = 121, provider_id = 16.0, alt_user_typ_id = 1.0,
public_user_id = ''3031111111'', pres_device_id =
''a283423334335'',
pres_device_address = NULL, reg_step_typ_id = NULL, user_typ_id = 3.0,
presence_contxt = NULL, auth_id = NULL, alt_public_user_id
''3032222222'', presence_device_typ_id = 3.0, auth_scheme = NULL
WHERE
"CLIENT_DETAILS_ID" = NULL [0m
Redirected to http://localhost:3000/client_details_ngs/search_for_puids
Completed in 0.17200 (5 reqs/sec) | DB: 0.04700 (27%) | 302 Found
[http://localhost/client_details_ngs/save_client_detail_changes/121]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---