mongomapper، rails3 حافة: أسلوب غير معروف `to_key" على form_for
-
20-09-2019 - |
سؤال
وعندما أحاول الحصول على أمثلة استنباط الأساسية التي تعمل مع الإصدارات بوابة الحالية من القضبان، mongomapper وابتكار، لقد التالية تظهر:
undefined method `to_key' for #<Admin:0x23dee04>
وهنا هو بلدي المصدر الفعلي:
4: = form_for @admin, :url => admins_path do |f|
5: - field_set_tag 'Update my email' do
6: %p= f.text_field :email
7: %p= error_message_on @admin, :email
وadmin ودخوله حاليا في المستخدم (@ المشرف = current_admin) يحدث نفس الخطأ عند محاولة استخدام @ المشرف = Admin.first في تحكم
وأنا لست متأكدا تماما إذا كان هذا هو مشكلة mongomapper، قد يكون أيضا rails3 ذات الصلة ... شكرا لأي مؤشرات ...
ونفس يحدث إذا أنا باستخدام ما يعادل إرب، انظر
<%= form_for @admin, :url => { :action => "create" } do |fr| %>
<%= fr.text_field :sign_in_count %>
<% end %>
وهنا هو الإخراج الخطأ الكامل: http://pastie.org/871850
المحلول
ولقد قدم تصحيحا لMongoMapper هنا:
http://github.com/fredwu/mongomapper/commit/6e5e531312ef98c30e33286a1f80dd000468ed07
نصائح أخرى
حسنا، هنا هو الإصلاح:
تحليل 1 الإصلاح في نموذج
def to_key
self.keys.to_a
end
تحليل 2 الإصلاح في عرض
<%= form_for :admin, @admin, :url => { :action => "create" } do |f| %>
<%= f.text_field :sign_in_count %>
<% end %>
وحد سواء وسوف يعمل. لا يزال من غير الواضح بالنسبة لي إذا كان هذا هو قضية القضبان أو mongomapper، ولكن لشخص آخر يعمل في هذا، وهنا هو الحل.