Ваше сообщение довольно расплывчато, но на основании того, что вы сказали, я бы создал модель для компании, в которой есть много пользователей.
Убедиться, что каждый пользователь может видеть только данные своей компании, будет так же просто, какограничение результатов данных для этой компании.Ваш индекс может выглядеть следующим образом:
before_filter :current_company
def index
@data = @current_company.data.find(:all)
respond_to do |format|
format.html
end
end
Ограничение прав администратора для своих компаний может быть сделано с помощью:
@data = @current_user.company.data.find(params[:id])
Это мешает им редактировать что-либо за пределами своей компании, потому что если они попробуют этопросто верну запись не найдена ошибка.Обратите внимание, что это может быть чище, но вы поймете идею.
Этот Railscast на поддоменах, вероятно, укажет вам правильное направление: http://railscasts.com/episodes/123-subdomains (мне нравится использовать поддомены, потому что для меня это чище,но это не обязательно, и вы все еще можете использовать большинство остальных)