У меня есть приложение, используемое несколькими организациями, и я хочу проверить, что пользователи одного домена (a.domain.com) не могут редактировать пользователей другого домена (b.domain.com). Мой вопрос заключается в том, где поставить логику, в фильтр или в представление?Rails - Слишком много логики во взглядах?
Вид:
<% if @user.websites.detect {|website| website.url == request.host} %>
render :partial => 'form'
<% else %>
render :partial => 'no_access'
<% end %>
Или, в контроллере:
before_filter :verify_editable_user, :only => ['edit', 'update', 'delete']
protected
def verify_editable_user
@user = User.find(params[:id], :include => 'websites')
unless @user.websites.detect {|website| website.url == request.host}
render 'no_access'
end
end
В этом случае первая версия чувствует себя чище меня. Однако второй, по-видимому, больше связан с сценарием MVC. Как вы думаете? Я так далеко от базы? Заранее спасибо.