के साथ सामग्री लोड करने के प्रयास के बाद 406 त्रुटि फेंकता है मैं अपने वेब ऐप को मोबाइल ब्राउज़र में देखने की अनुमति देने के लिए Railscast #199 का पालन कर रहा हूं। यह शानदार काम करता है, सिवाय इसके कि जब मैं मोबाइल संस्करण में यूजेएस का उपयोग कर एक टैबड इंटरफ़ेस में जानकारी तक पहुंचने का प्रयास करता हूं। टैब पर क्लिक करना वेब ऐप में काम करता है, लेकिन मोबाइल तरफ मुझे 406 त्रुटि मिलती है। (मैंने सफारी में आईफोन के रूप में उपयोगकर्ता एजेंट को सेट करने के बाद यह कोशिश की। मैंने आईओएस सिम्युलेटर और आईफोन पर भी परीक्षण किया। किसी भी समय कुछ भी लोड नहीं हुआ।)रेल 3: मोबाइल एमआईएम प्रकार जावास्क्रिप्ट
नीचे टैब में से किसी एक के लिए कोड है। क्या कोई मुझे यह जानने में मदद कर सकता है कि क्या हो रहा है? मेरा कोड यहाँ है।
यहाँ profiles_controller.rb
में profile_about कार्रवाई है:
def profile_about
@profile = Profile.find(params[:id])
respond_to do |format|
format.js { render :layout => nil }
end
end
मेरे profiles/show.mobile.erb
(इस profiles/show.html.erb
में के रूप में ठीक उसी कोड है):
<div id="tabs">
<ul id="infoContainer">
<li><%= link_to "Cred", profile_cred_profile_path, :class=> 'active', :remote => true %></li>
<li><%= link_to "About", profile_about_profile_path, :class=> 'inactive', :remote => true %></li>
</ul>
<div id="tabs-1">
<%= render :partial => 'profile_cred' %>
</div>
</div><!-- end tabs -->
(नोट: मेरे पास है profiles/_profile_about.html.erb
और profiles/_profile_about.mobile.erb
के लिए एक फ़ाइल।)
यहाँ मेरी profiles/profile_about.js.erb
है:
$("#tabs-1").html("<%= escape_javascript(render(:partial => 'profile_about'))%>");
मेरे Heroku 406 दिखा लॉग:
2012-03-08T03:02:55+00:00 app[web.1]: Started GET "/profiles/1/profile_about" for 98.218.231.113 at 2012-03-08 03:02:55 +0000
2012-03-08T03:02:55+00:00 heroku[router]: GET myapp.com/profiles/1/profile_about dyno=web.1 queue=0 wait=0ms service=14ms status=406 bytes=1
2012-03-08T03:02:55+00:00 app[web.1]: Processing by ProfilesController#profile_about as JS
2012-03-08T03:02:55+00:00 app[web.1]: Parameters: {"id"=>"1"}
2012-03-08T03:02:55+00:00 app[web.1]: Completed 406 Not Acceptable in 3ms
2012-03-08T03:02:55+00:00 heroku[nginx]: 98.218.231.113 - - [08/Mar/2012:03:02:55 +0000] "GET /profiles/1/profile_about HTTP/1.1" 406 1 "http://myapp.com/profiles/1" "Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3" myapp.com
tail -f logs/development.log
चल रहा से:
Started GET "/profiles/1/profile_about" for 127.0.0.1 at Wed Mar 07 22:35:36 -0500 2012
Processing by ProfilesController#profile_about as JS
Parameters: {"id"=>"1"}
PK and serial sequence (5.4ms) SELECT attr.attname, seq.relname
FROM pg_class seq,
pg_attribute attr,
pg_depend dep,
pg_namespace name,
pg_constraint cons
WHERE seq.oid = dep.objid
AND seq.relkind = 'S'
AND attr.attrelid = dep.refobjid
AND attr.attnum = dep.refobjsubid
AND attr.attrelid = cons.conrelid
AND attr.attnum = cons.conkey[1]
AND cons.contype = 'p'
AND dep.refobjid = '"goals_profiles"'::regclass
PK and custom sequence (2.5ms) SELECT attr.attname,
CASE
WHEN split_part(def.adsrc, '''', 2) ~ '.' THEN
substr(split_part(def.adsrc, '''', 2),
strpos(split_part(def.adsrc, '''', 2), '.')+1)
ELSE split_part(def.adsrc, '''', 2)
END
FROM pg_class t
JOIN pg_attribute attr ON (t.oid = attrelid)
JOIN pg_attrdef def ON (adrelid = attrelid AND adnum = attnum)
JOIN pg_constraint cons ON (conrelid = adrelid AND adnum = conkey[1])
WHERE t.oid = '"goals_profiles"'::regclass
AND cons.contype = 'p'
AND def.adsrc ~* 'nextval'
Profile Load (1.3ms) SELECT "profiles".* FROM "profiles" WHERE "profiles"."id" = '1' LIMIT 1
Completed 406 Not Acceptable in 30ms
विकास के वातावरण सही में आप कर रहे हैं? लॉग/develop.log 500 के बारे में क्या कहता है? – brutuscat
जब मैं आईफोन के उपयोगकर्ता एजेंट के साथ "बारे में" पर क्लिक करता हूं तो बस मेरे लॉग में जानकारी के साथ अपडेट किया जाता है। – tvalent2