Frage

Ich habe Rails3-App mit deklarativen_ Authorizierung und inerited_Resources-Edelsteine installiert.Lassen Sie mich Ihnen einen Code von meiner App anzeigen: generasacodicetagpre.

meine Berechtigungsregeln: generasacodicetagpre.

in posts / index.html.haml Ich verwende generasacodicetagpre.

und in meinem posts_controller generasacodicetagpre.

sieht gut aus, funktioniert aber nicht: (

Testbenutzer haben die Rolle des Moderators mit Moderatormitgliedschaft für einen der Blogs, jedoch ohne Mitgliedschaft im zweiten Blog.

Bei folgenden Regeln und Code kann jeder Benutzer mit Moderatoren ROLLE POST in einem beliebigen Blog erstellen.

könntest du mir bitte sagen - was ich ändern muss, um nur Blog-Autoren und Moderator zuzulassen, um Beiträge an die Blogs zu senden, aber nicht zu den anderen Blogs?

War es hilfreich?

Lösung

Not so elegant way, but i solved it with following:

  1. changed access filter in posts_controller:

    filter_resource_access :nested_in => :blog

  2. Added method to posts controller

    protected

    def new_post_for_collection @post = Blog.find(params[:blog_id]).posts.new end

  3. Changes in index.html.haml

    • if permitted_to? :create, @post .button.add-post = link_to "New post", new_resource_path
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top