如何在Vue js中使用axios更新Rails api数据库中的记录?

时间:2020-01-05 10:11:53

标签: ruby-on-rails vue.js axios

我有这种更新方法,并且我读过axios使用put而不是patch来更新记录,所以我试图从我的Vue js应用程序更新我的rails Api上的记录,但它会返回404错误。

我该如何解决?

<form action="{{route('project.update', $project->id)}}" method="POST" enctype="multipart/form-data">
    @csrf
    <div class="group-form">
        <select  class="form-control">
            <option value="">Select Category</option>
            @foreach($categories as $category)
            <option value="{{$category->id}}" @if($project->category_id) == $category->id) selected @endif>{{$category->category_name}}</option>       
            @endforeach
        </select>
    </div>
    <br>
    <div class="group-form">
        <input type="text" class="form-control" value="{{$project->product_name}}" 
             placeholder="Update Product Name" name="product_name" >  
    </div>
    <br>
    <div class="group-form">
        <input type="file" class="form-control"  name="select_file" >      
    </div>
    <br>
    <div class="group-form">
        <input type="submit" class=" btn btn-primary form-control" value="UPDATE"  name="Update" >  
    </div>
</form>

1 个答案:

答案 0 :(得分:2)

您应该像这样连接addess:

$categories=$db->query("SELECT id,title, parent FROM categories");
if($categories->num_rows>0){
    while($category=$categories->fetch_assoc()){
        echo $category['title'].'<br>';

        $hasitsubs = $db->query("SELECT id, title, parent FROM categories WHERE parent='".$category['id']."'");
        if($hasitsubs->num_rows>0){
            while($hasitsub=$hasitsubs->fetch_assoc()){
                echo '-'.$hasitsub['title'].'<br>';
            }
        }

    }
}else{
    echo 'Categories can not be found';
}

对于第二个参数,您应该传递的是您要更新的数据

`http://localhost:3000/api/v1/books/${book.id}`