كيفية العثور على وعرض مجموعة من الكائنات مع علامة معينة باستخدام بمثابة taggable (مسترجع)؟

StackOverflow https://stackoverflow.com/questions/1019747

سؤال

وأريد أن عرض قائمة من المواد في رأي تبين لي العلامة. أنا باستخدام بمثابة المساعد مسترجع taggable في القضبان 2.3.2 وSQLite3 التطبيق. لقد حصلت بقدر سبيل المثال الأساسي يأخذ مني، والعلامات تعيين و ثم عرض قائمة من لهم هذه المادة.

والآن أريد أن عرض قائمة من المواد التي تنتمي إلى علامة لكن الحصول على الخطأ التالي:

undefined method `article' for #<Tag id: 1, name: "various", taggings_count: 1>

نماذج

و/article.rb

class Article < ActiveRecord::Base  
  acts_as_taggable
end

و/user.rb

class Tag < ActiveRecord::Base  
  acts_as_tagger
end  

المراقب المالي

و/tags_contoller.rb

def show
  @tag = Tag.find(params[:id])
  @articles = @tag.articles
end  

مشاهدة

و/tags/show.html.erb

<% for article in @articles %>  
   ...  
<% end %>  

وهنا هو إلى ملف الهجرة .

وشكرا جزيلا.

هل كانت مفيدة؟

المحلول 3

وشكرا جزيلا لGeemus، مؤلف من الأفعال التي تعتبر مسترجع taggable لشرح هذا لي.

لعرض قائمة من المواد مع علامة معينة أنا فقط بحاجة إلى تغيير tags_controller من:

و/tags_contoller.rb

def show
  @tag = Tag.find(params[:id])
  @articles = @tag.articles
end

إلى:

والمراقب المالي /tags_contoller.rb

def show
  @tag = Tag.find(params[:id])
  @articles = @tag.tagged
end

نصائح أخرى

وأعتقد أن البرنامج المساعد ليست واحدة من اللوم هنا، انها سكليتي هذا ما تجلب لك المتاعب. أنا واجهت هذا واحد من قبل - على ما يبدو سكليتي لا يمكن أن نفهم جملة "table_name.column_name"، على الرغم من انها ليست المذكورة على الموقع. في حالتي أنا فقط تحولت إلى الخلية، وذهب كل شيء من دون مشكلة. نرى ما اذا كان هذا يساعد.

والمشكلة هي أن لديك نموذج يدعى كائن. إعطائها اسم له أي تداخل مع الفئات النظام روبي، مثل ApplicationObject أو MediaObject.

وأنا يمكن التكهن لماذا هذا يسبب القضايا هو، ولكن ذلك لن يكون إلا تكهنات. فتح فصول هي ميزة رائعة من روبي، ولكنه يعني أنك بحاجة إلى توخي الحذر تسمية الفصول الدراسية حتى انهم متميزة من روبي والطبقات السكك الحديدية و.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top