Skip to content

Commit 64c904a

Browse files
authored
Merge pull request #225 from richmolj/master
Avoid deleting id from attributes
2 parents 443d443 + 9cd1337 commit 64c904a

File tree

3 files changed

+5
-4
lines changed

3 files changed

+5
-4
lines changed

lib/graphiti/adapters/active_record.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -282,8 +282,8 @@ def create(model_class, create_params)
282282

283283
# (see Adapters::Abstract#update)
284284
def update(model_class, update_params)
285-
instance = model_class.find(update_params.delete(:id))
286-
instance.update_attributes(update_params)
285+
instance = model_class.find(update_params.only(:id))
286+
instance.update_attributes(update_params.except(:id))
287287
instance
288288
end
289289

lib/graphiti/resource/persistence.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,8 @@ def create(create_params, meta = nil)
8989

9090
def update(update_params, meta = nil)
9191
model_instance = nil
92-
id = update_params.delete(:id)
92+
id = update_params[:id]
93+
update_params = update_params.except(:id)
9394

9495
run_callbacks :persistence, :update, update_params, meta do
9596
run_callbacks :attributes, :update, update_params, meta do |params|

lib/graphiti/resource/remote.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def remote_url
1919
end
2020

2121
def save(model, meta)
22-
if meta[:attributes] == {} && meta[:method] == :update
22+
if meta[:attributes].except(:id) == {} && meta[:method] == :update
2323
model
2424
else
2525
raise Errors::RemoteWrite.new(self.class)

0 commit comments

Comments
 (0)