मैं रीस्ट एपीआई एंजुलरजेएस पर आधारित ऐप बनाने की कोशिश कर रहा हूं। मैं इस ट्यूटोरियल http://npmasters.com/2012/11/25/Symfony2-Rest-FOSRestBundle.html का पालन कर रहा हूं लेकिन कुछ विवरण (अवमूल्यन विधियों) को बदलना है और अभी जब मैं नई इकाई बनाने के लिए पोस्ट करता हूं तो मुझे लगता है कि 'इस फॉर्म में अतिरिक्त फ़ील्ड नहीं होनी चाहिए' त्रुटि।Symfony2.4 फॉर्म 'इस फ़ॉर्म में अतिरिक्त फ़ील्ड नहीं होनी चाहिए' त्रुटि
class MainController extends Controller
{
public function indexAction(Request $request)
{
$form = $this->createForm(new TaskType(),null,array('action' => $this->generateUrl('post_tasks').'.json'))
->add('submit','submit');
$note_form = $this->createForm(new NoteType())
->add('submit','submit');
return $this->render('MyBundle:Main:index.html.twig',
array(
'form'=>$form->createView(),
'note_form'=>$note_form->createView(),
)
);
}
}
मेरी TaskType प्रपत्र:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('timeStart','datetime',array(
'date_widget' => 'single_text',
'time_widget' => 'single_text',
'date_format' => 'yyyy-MM-dd',
'data' => new \DateTime('now')
))
->add('timeStop','datetime',array(
'date_widget' => 'single_text',
'time_widget' => 'single_text',
'date_format' => 'yyyy-MM-dd',
'data' => new \DateTime('now')
))
->add('project')
->add('descriptionTask')
->add('isCompleted',null,array('required' => false))
->add('isVisible',null,array('required' => false))
;
}
अभी मेरे विचार में मैं केवल एक प्रपत्र लेकिन मैं परीक्षण चरण तैयार हूं प्रतिपादन कर रहा हूँ:
{%extends 'MyBundle::layout.html.twig' %}
{%block content %}
<div ng-view></div>
{{ form(form) }}
{% endblock %}
और इस आरईएसटी नियंत्रक है जो दिया गया इकाई फ्लश करना है:
public function cpostAction(Request $request)
{
$entity = new Task();
$form = $this->createForm(new TaskType(), $entity);
$form->handleRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($entity);
$em->flush();
return $this->redirectView(
$this->generateUrl(
'get_organisation',
array('id' => $entity->getId())
),
Codes::HTTP_CREATED
);
}
return array(
'form' => $form,
);
}
अजीब बात यह है: जब मैं MainController के बाकी नियंत्रक से एक ही कोड शब्दों में कहें, तो प्रपत्र और नई इकाई मान्य है प्लावित किया जा रहा है, लेकिन किसी भी तरह बाकी नियंत्रक त्रुटि फेंकता है ...
आपको बहुत बहुत धन्यवाद! – mmmm
समाधान के लिए बहुत धन्यवाद। क्या आपको पता है कि कोई समाधान है जिसके लिए मुझे अपने फॉर्म हैंडलरों में से प्रत्येक पर ऐसा करने की आवश्यकता नहीं है? – Jonathan
हाँ इसके बाद सबमिट को जोड़ने के बजाय इसे अपने प्रकार – Chausser