rails form_for создает новую запись базы данных при обновлении, без отправки формы - PullRequest
0 голосов
/ 17 августа 2010

Я новичок в rails и mongodb и имею простую форму, пытающуюся создать дерево категорий.

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

Форма выглядит так

<%= form_for Activity.create do |f| -%>
  <%= f.text_field :activity_name % >
<%= f.submt "add action" %<
<% end %>

моя модель

class Activity
       include MongoMapper::Document

    key    :activity_name, :type => String
    key    :parent,        :type => ObjectId
    key    :acnestors,   Array

    timestamps!
end

мои маршруты содержат одну запись для активности

map.activity '/activity/:activity_id', :controller => 'activities', :action => 'show'

хотя я вызываю create из формы, моя функция create в моем контроллере пуста. Форма включена в страницу показа через визуализацию, но это не должно иметь значения.

Есть идеи, почему обновление страницы будет действовать как отправка формы?

1 Ответ

0 голосов
/ 17 августа 2010

Вы звоните Activity.create в форме помощника.Это создаст (в смысле Rails, который также сохранит его в БД) новый объект при каждой загрузке страницы.

...