उम्मीद है कि यहां कोई व्यक्ति मुझे सही दिशा में इंगित कर सकता है।रेल अद्यतन_ट्रिबल्स डीबी मानों को अद्यतन करने का प्रयास करते समय झूठी रिटर्न
मेरे पास एक नियंत्रक अद्यतन def "update_attributes" चल रहा है। वर्तमान में यह कोई त्रुटि संदेश के साथ झूठी वापसी करता है। मैं रूबी के लिए बिल्कुल नया हूं, लेकिन कोडिंग नहीं करना, और यह मुझे कुछ अच्छे दिनों के लिए फंस गया है! मैं नीचे निर्दिष्ट मानों के साथ उपयोगकर्ता मॉडल और डीबी अद्यतन करने की कोशिश कर रहा हूं।
def update
#get currently logged in user
@user = current_user
#update user params based on edit form...
if @user.update_attributes(params[:user])
redirect_to profile_path, :notice => "Successfully updated profile."
else
render :action => 'edit'
end
end
मेरे संपादन डीईएफ़ ....
def edit
@user = current_user
end
प्रपत्र इस अद्यतन विधि के लिए निम्न भेजता है:
--- !ruby/hash:ActiveSupport::HashWithIndifferentAccess
utf8: ✓
_method: put
authenticity_token: 9T4ihVI0p8j7pZEFxof3Bfahi2a+o3BPmtXJDnfHT4o=
user: !ruby/hash:ActiveSupport::HashWithIndifferentAccess
first_name: Amanda
last_name: Ross
is_owner: '1'
email: [email protected]
commit: Update
action: update
controller: users
id: '20'
और पैरामीटर [: उपयोगकर्ता] रिटर्न:
{"first_name"=>"Amanda", "last_name"=>"Ross", "is_owner"=>"1", "email"=>"[email protected]"}
ये सभी फ़ील्ड attr_accessible में हैं मॉडल, और मैं बिना किसी समस्या के उपयोगकर्ता बना सकता हूं।
यहाँ development.log निर्गम (खेद यह थोड़ा गंदा है) है ....
Started PUT "https://stackoverflow.com/users/20" for 127.0.0.1 at 2012-04-17 10:39:29 +0100
Processing by UsersController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"9T4ihVI0p8j7pZEFxof3Bfahi2a+o3BPmtXJDnfHT4o=", "user"=> {"first_name"=>"Amanda", "last_name"=>"Ross", "is_owner"=>"1", "email"=>"[email protected]"}, "commit"=>"Update", "id"=>"20"}
[1m[36mUser Load (1.0ms)[0m [1mSELECT "users".* FROM "users" WHERE "users"."id" = 20 LIMIT 1[0m
>>>>>>>>>>>>
{"first_name"=>"Amanda", "last_name"=>"Ross", "is_owner"=>"1", "email"=>"[email protected]"}
[1m[35m (0.0ms)[0m begin transaction
[1m[36mUser Exists (0.0ms)[0m [1mSELECT 1 FROM "users" WHERE (LOWER("users"."email") = LOWER('[email protected]') AND "users"."id" != 20) LIMIT 1[0m
[1m[35mUser Exists (0.0ms)[0m SELECT 1 FROM "users" WHERE ("users"."email" = '[email protected]' AND "users"."id" != 20) LIMIT 1
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
Rendered users/_form.html.erb (7.0ms)
Rendered users/edit.html.erb within layouts/application (10.0ms)
Rendered layouts/_includes.html.erb (30.0ms)
किसी को संभवतः मदद कर सके बाहर बिंदु जहां मैं गलत, कृपया जा रहा हूँ?
अग्रिम धन्यवाद!
क्या आपने 'development.log' की जांच की है? – Alex
त्रुटि संदेश का विवरण अच्छा होगा - यह नहीं पता कि आप कैसे 'झूठी' – Jonathan
को मुख्य पोस्ट में develop.log आउटपुट जोड़ रहे हैं .... (बस रोलबैक प्राप्त करना) – steve