trzeba, by możliwość edycji danego Itemu miał tylko jego autor (Item.user_id == current_user.id). O ile zablokowanie widoku edycji nie jest problemem, to chciałbym uniknąć możliwości sfałszowania requesta …
Filtr na metodzie kontrolera nie jest (chyba ??) rozwiązaniem (bo z tego co widzę nie przyjmuje parametrów - i nie wiadomo o który @item mogłoby chodzić). Dodam, że serwis nie potrzebuje systemu ról - sam User i admin.
Proszę o pomoc … (:before_update ??)
http://railscasts.com/episodes/178-seven-security-tips
Jedną z ostatnich opisywanych w tym odcinku sztuczek jest scope-owanie zapytań. Prawdopodobnie klasa User wygląda u Ciebie mniej więcej tak:
[code=ruby]class User < ActiveRecord::Base
has_many :items
…
end[/code]
W kontrolerze w akcji update wystarczy napisać:
@item = @current_user.items.find(params[:id])
… i sprawa załatwiona.
proste i piękne - thank you
w sumie to mogłem to wykoncypować - w końcu tak samo ustawiam zmienną przy Item.create