2013-05-23 5 views
0

Я абсолютный новичок и работаю и борюсь с ExtJS! Я должен получить список пользовательских записей и опустить их на панели Ext grid. У меня есть внешний интерфейс ExtJS и Grails (Groovy Controllers). Я говорил несколько ссылок, как:Операции ExtJS CRUD на панели Grid Panel и Grails

http://docs.sencha.com/extjs/4.0.7/#!/example/grid/row-editing.html 
http://docs.sencha.com/extjs/4.0.7/#!/example/restful/restful.html 
http://docs.sencha.com/extjs/4.0.7/#!/example/writer/writer.html 

The api property (or) tag (or)attribute (I don't know what it is called) helps me in getting the list of JSON objects to be displayed in the Grid. Also, when I select a row and click on Delete, the request is reaching the delete action in my controller. But my problems begins here: how do I make sure that: 

1) the selected row is deleted from Database? How do I pass the identifier or something to controller so that it will delete the record? 

2) When I add a row, how do I pass the field values to backend Controller? 

Most of the code is same as given in the restful link above. For reference, this is my Datastore: 

https://docs.google.com/document/d/1gQyLCt6xWXTm-OUgYu7hku47r5WcS0my5yPBSKj2B7I/edit?usp=sharing 

ответ

0

Если вы используете прокси Rest, ExtJS будет автоматически генерировать адреса для вас, на основе URL-адрес шлейфом, который вы укажете. Так что, если ваш прокси-сервер настроен, чтобы указать на что-то вроде:/API/пользователей, следующие ссылки будут генерироваться для каждого из 4-х действий:

  • чтения:/API/пользователей (ГЭТ)
  • создать:/API/пользователей (POST)
  • обновление:/API/пользователей/SomeIDFromTheUpdatedRecord (PUT)
  • удалить:/API/пользователей/SomeIDFromTheDeletedRecord (DELETE)

Как вы можете видеть, конечную точку каждый запрос точно такой же (api/users), но для PUT a nd DELETE, идентификатор затронутой записи автоматически включается в URL.

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

+0

Спасибо, приятель ... Да, теперь вы приятель :) – rajugaadu

+0

Но параметр или идентификатор, который он добавляет по умолчанию к URL-адресу запроса, называется вызовом _dc. Я где-то читал, что его можно переопределить, указав encode: true в DataStore. Это добавило данные формы в запрос. Какой вид мне помог. Но у меня есть еще одна проблема! REST на основе ExtJS GRID для CRUD-операций, которые мы находим на сайте sencha ... Я использовал его, и я вижу, что, когда мы нажимаем «Добавить», он отправляет два запроса. Есть идеи по этому поводу? – rajugaadu

+0

_dc - это просто кеш-биттер, это не идентификатор. – existdissolve

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