I am trying to delete a record in Yii, which throws a Error 400. Please do not repeat this request again. It's checking for a post variable, my controller file has
if(Yii::app()->request->isPostRequest)
When I echo my post variable it's blank whereas $_GET has the id which I want to delete, my View file looks like,
echo CHtml::link(CHtml::encode('Delete image'), array('image/delete', 'id'=>$image->id), array('class' => 'delete','confirm'=>'This will remove the image. Are you sure?'));
The access rules has delete to authenticated users, which is right. Tried it with a * too. I also tried sending it as a hidden variable but no good.
Not able to figure out how should I post a form in Yii.
According to my experience this caused by some javascript files loaded after jquery. If you have jQuery link at the end of the document please remove it.
I think your actionDelete() contains the code that throws this, and I guess it depends on AJAX call or not. Check your relevant actionDelete()
This is happening because it's not a post request.
CHtml::link
has a way by which you can use post method, instead of get. This requires you to usesubmit
attribute ofclientChange
, in yourhtmlOptions
.Somewhat like this:
the default with Curd will be like this
The delete action can only accessed by POST; You can check it.
So you need to delete this line to work with you 'postOnly + delete',