Использование RESTful Rails, как сделать вставку и создать за одно действие - PullRequest
1 голос
/ 26 марта 2010

У меня есть ссылка на сайт с надписью «добавить объект». Когда я делаю это, выполняется вызов AJAX, и я хочу сделать следующие вещи:

1) если контейнер в сеансе не существует, создайте его, иначе используйте существующий 2) добавить объект в контейнер

Я новичок в RESTful дизайне и мне интересно, как лучше всего это сделать в Rails. Шаг № 1, в частности.

Когда я делаю вызов AJAX, как будет выглядеть URI?

------ править ------

Я думаю, что URI должен быть что-то вроде / myobject / new. Затем в: before_filter, что-то вроде:

:before_filter check_for_container

def check_for_container
    if session[:container_id].nil?
        C = MyContainer.new
        session[:container_id] = C.id
    end
end

В моем контроллере MyContainer новый метод содержит довольно много пользовательского кода для генерации серийных номеров, повторного использования удаленных контейнеров и т. Д. Как я могу реорганизовать существующий код?

1 Ответ

1 голос
/ 26 марта 2010

Какой тип контейнера? Вы можете использовать что-то вроде:

 @container ||= []

если контейнер - это просто массив, или использовать следующий идентификатор контейнера, это запись в базе данных:

@container = Container.find_or_create(id)

или

@container = Container.find_or_create_by_field(:field=>id, :other_filed=>val....)

А затем добавить объекты в контейнер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...