2012-02-10 2 views
0

1 - Что у меня есть:структурирования Rails MVC для пользователей с большим количеством связанных с социальными сетями

  • модель пользователя и социальные сети Модель
  • Пользователь может иметь много социальных сетей и социальная сеть принадлежит к user
  • Я храню токен, uid и имя социальной сети (и идентификатор пользователя) в таблице социальных сетей.

2 - Что я хочу:

Я хочу, вошедшего в систему пользователя, чтобы иметь возможность перейти к «/ socialnetworks» и получить список всех социальных сетей, которые он связал (те, находятся в таблице социальной сети с токеном, отличным от nil) и всеми теми социальными сетями, которые он не связал, но приложение поддерживает. Для каждой активной социальной сети пользователь сможет отключить его, если он связан и связать его, если он не включен.

3 - Как я думал сделать это:

Я думал об этом в RESTful образом, но я считаю, что меня смущает тот факт, что я не хочу, чтобы показать ту же информацию для каждой социальной сети. Например, для Facebook мне может потребоваться показать профиль изображения и его имя, а для Twitter я, возможно, захочу показать количество последователей и количество людей, за которыми следует пользователь. В любом случае, что я думал об этом:

В индекс действие У меня будут абоненты для разных строителей для каждой социальной сети. Так, например, я мог бы иметь следующее:

def index 
@facebook_object = SocialNetworks.get_facebook_object 
@twitter_object = SocialNetworks.get_twitter_object 
end 

В шаблоне индекс Я думал, делать что-то вроде:

render facebook_template 
render twitter_template 

Какой бы оказывать различные парциальные для данных объектов или если они не существуют, они будут показывать кнопку «ссылка на X социальную сеть».

Так что мой вопрос:: Как я мог улучшить этот дизайн, чтобы сделать его более RESTful и в то же время сильным для будущих изменений или добавления новых социальных сетей?

ответ

0

Вы можете использовать вложенный resources, если хотите быть RESTFul.

Вы также можете сохранить один шаблон для рендеринга вашего объекта социальной сети и сохранить логику рендеринга выделенного или общего шаблона в нем.

+0

С помощью вложенных ресурсов мне нужно будет передать объект пользователя в URL-адрес правильно? Я хочу этого избежать. – Nobita

Смежные вопросы