Я пытаюсь внедрить JQuery Mobile с Rails 3, и у меня есть модель контакта и контроллер контактов .
JQuery Mobile имеет возможность создавать диалоги из обычного представления, которые хорошо работают для мобильных устройств. Я пытаюсь воспользоваться этим при удалении данных из моей модели. Вместо обычного "Ты уверен?" Во всплывающем окне javascript я создал delete.html.erb view и метод удаления в контроллере.
Проблема в том, что при отображении диалогового окна JQuery Mobile оно действует на действие «Обновление» вместо действия «Уничтожить». (см. Изображения ниже)
Я использую это для отображения вида удаления:
# GET /contacts/1
def delete
@contact = Contact.find(params[:id])
render 'delete'
end
Вот метод уничтожения:
def destroy
contact = Contact.find(params[:id])
contact.destroy
end
А вот код для удаления представления:
<div data-role="header">
<h1>Delete</h1>
</div>
<div data-role="content">
<%= form_for(@contact, { :action => 'destroy', :id => @contact }) do %>
<%= "Delete #{@contact.first_name} #{@contact.last_name}?" %>
<%= submit_tag %>
<% end %>
</div>
Что вызывает рендеринг:
I думаю решение проблемы лежит в адресной строке здесь:
Как видите, текст кнопки отправки автоматически заполняется методом обновления. Представление удаления присоединяется к представлению редактирования, и Rails рассматривает его как обновление вместо уничтожения.
Мой rout.rb файл очень прост:
resources :contacts
Я предполагаю, что здесь что-то должно измениться, но я не уверен, что. И / или что-то может потребоваться изменить в отношении использования JQuery Mobile.
Любая помощь приветствуется!