tpl
February 7, 2010, 7:26am
1
Mam prosty formularz dodawania komentarza, a w nim pole active, które może przyjmować wartość false lub true co będzie skutkowało wyświetleniem komentarza na stronie lub nie.
Chciałbym tak zrobić, żeby to pole mógł edytować tylko administrator. Samo usunięcie/ukrycie pola z formularza dla usera rozumiem nic nie da.
Jak się takie coś powinno realizować ?
czak
February 7, 2010, 10:42am
2
W migracji dla tego pola pamiętaj o:
t.boolean :active, :null => false, :default => false
W modelu zabezpiecz pole przed zmianami z formularza:
attr_protected :active
W akcji dostępnej tylko dla administratora ręcznie ustawiaj wartość atrybutu:
@comment.active = true
Oczywiście pola nie należy dodawać do formularza dostępnego dla zwykłych userów. Krok 2 to zabezpieczenie przed cwaniakami.
paneq
February 8, 2010, 6:22pm
3
Warto zainteresowac sie
http://github.com/aenima/base-auth
Za pomoca tego plugina w widoku mozesz zorobic
[code=ruby]- allow(:user => :admin?) do
= t.boolean :active, :null => false, :default => false
tpl
February 9, 2010, 6:05am
5
właśnie prawie skończyłem instalować declarative_authorization, ale jeszcze muszę rozpatrzeć jak ten gem podchodzi do rozwiązania tej sprawy.
Artur79
February 9, 2010, 11:25am
6
[quote=seeweer]Warto zainteresowac sie
http://github.com/aenima/base-auth
Za pomoca tego plugina w widoku mozesz zorobic
[code=ruby]- allow(:user => :admin?) do
= t.boolean :active, :null => false, :default => false
end[/code]
[/quote]
Dobre. jakos mi to umkneło w dokumentacje base-auth. Jest jakis odpowiednik tego w Acl9 ?
tpl
February 15, 2010, 5:20am
7
Dziękuje za podpowiedzi, mini-panel admina już śmiga