RAILS 3.2 - много вложенных ресурсов: через отношения

Ребята, я схожу с ума от этого ... и вообще не могу понять, как выйти из всех этих неприятностей. Мне действительно нужна святая помощь или, по крайней мере, некоторые предложения по учебникам и руководствам по этой проблеме.

Я считаю, что это очень распространенная задача во многих приложениях, но я не могу найти ничего, что помогло бы в этом смысле, ни в stackoverflow, ни в Google, ни на других форумах рельсов, которые я знаю ... Я начинаю чувствовать, что тупой !!!

Проблема

(1) Модели (задействованные модели)

User.rb Item.rb (вложен в user: например, user / 3 / item / 5)

(2) Что бы я хотел сделать

Current_user (пользователь, который вошел в систему) может создать элемент и в той же форме может решить, поделиться им или нет со многими другими пользователями.

Таким образом, элемент будет виден и доступен также тем пользователям, которым мы поделились им.

Я понимаю, что здесь будут задействованы:

(a) has_many: через отношения между элементом и пользователем (b) объединенная таблица, которую мы можем вызвать совместное использование (с item_id и user_id) (c) в конечном итоге с использованием другого имени для пользователя и использования a: class_name для указания на пользователя

Это несложно реализовать (и тому есть множество примеров).

На самом деле беспорядок заключается в том, как построить контроллер (контроллер элемента), чтобы выполнить за один раз создание нового элемента и операцию совместного использования (это означает настройку параметра в объединенной таблице и в конечном итоге создадим столько записей, сколько пользователей, с которыми мы делимся - массив?)

И другая проблема, которая, очевидно, связана с контроллером, будет представление ... как поместить все это в единую форму и позволить current_user просто щелкнуть кнопку и выполнить создание элемента + операцию совместного использования?

И последнее, но не менее важное: как мне иметь дело с тем фактом, что User - это та же модель current_user ??

Я действительно не знаю, что мне нужно прочитать или найти, чтобы позволить этой работе, я хотел бы увидеть некоторый пример кода, но в то же время я хотел бы действительно понять логику всего этого, чтобы чтобы иметь возможность воспроизвести его в других сценариях.

Пожалуйста, помогите мне ... Я не могу двигаться дальше в разработке своего приложения без этого, и это также важная часть всего проекта.

Большое спасибо за каждую маленькую помощь, которую я получу.


person Dinuz    schedule 09.04.2012    source источник


Ответы (1)


Хорошо, я решил все свои проблемы ... это не было сложной задачей в конце (всегда легко сказать, что когда вы решили проблему :))

Единственное сомнение, которое у меня осталось, - это соглашение об именах рельсов:

Может ли быть возможно, что использование такого имени, как совместное использование, для совместной модели, что конечный результат не очень хорошо обрабатывается рельсами?

После многих попыток решить мою проблему я обнаружил, что все настроено правильно, и что просто изменив имя объединенной таблицы с совместного использования на общий, пусть волшебство сработает !!!

person Dinuz    schedule 14.04.2012