يحتوي التصريح - التعريفي والموارد الموروثة
سؤال
لدي تطبيق Rails3 مع تعريف Admance_Authorization و Enherited_Resources GEMS مثبتة.اسمحوا لي أن أظهر لك بعض الكود من تطبيقي: giveacodicetagpre.
قواعد التفويض الخاصة بي: giveacodicetagpre.
في الوظائف / index.html.haml i استخدم giveacodicetagpre.
وفي مشاركات الخاص بي_Controller giveacodicetagpre.
تبدو جيدة، ولكن لا يعمل: (
اختبار المستخدم له دور مشرف مع عضوية المشرف لأحد المدونات، ولكن دون أي عضوية في المدونة الثانية.
مع القواعد التالية ورمز أي مستخدم مع دور المشرفين يمكن أن يخلق وظيفة في أي مدونة.
هل يمكن أن تخبرني من فضلك - ما أحتاج إلى تغييره للسماح لمؤلفي المدونات فقط والمدير بإرسال المشاركات إلى مدونات ولكن ليس إلى المدونات الأخرى؟
المحلول
Not so elegant way, but i solved it with following:
changed access filter in posts_controller:
filter_resource_access :nested_in => :blog
Added method to posts controller
protected
def new_post_for_collection @post = Blog.find(params[:blog_id]).posts.new end
Changes in index.html.haml
- if permitted_to? :create, @post .button.add-post = link_to "New post", new_resource_path