导入 rust mod 时在 `super` 中找不到 `schema`

海豚

我正在学习 rust,现在尝试导入一个结构,这是源文件路径app_root/src/model/response/playlist_response.rs,我正在导入另一个这样的结构:

#[path = "../../models.rs"]
mod models;

use models::QueryPlaylist;

model.rs路径是app_root/src/models.rs,该models.rs文件是这样的:

use super::schema::posts;
use super::schema::playing_record;
use super::schema::favorites;
use super::schema::songs;
use super::schema::playlist;
use super::schema::album;
use rocket::serde::Serialize;

#[derive(Insertable,Serialize,Queryable)]
#[table_name="playlist"]
pub struct QueryPlaylist {
    pub id: i64,
    pub creator: i64,
    pub name: String,
    pub cover_url: Option<String>,
    pub description: Option<String>,
    pub subscribed: Option<i32>,
    pub subscribed_count: Option<i64>,
    pub comment_count: Option<i64>,
    pub share_count: Option<i32>,
    pub play_count: Option<i32>
}

当我编译项目时,显示如下错误:

$ cargo build                                                                                                                                        ‹ruby-2.7.2›
   Compiling reddwarf_music v0.1.0 (/Users/dolphin/Documents/GitHub/reddwarf_music)
error[E0432]: unresolved import `super::schema`
 --> src/biz/music/../../model/response/../../models.rs:1:12
  |
1 | use super::schema::posts;
  |            ^^^^^^ could not find `schema` in `super`

error[E0432]: unresolved import `super::schema`
 --> src/biz/music/../../model/response/../../models.rs:2:12
  |
2 | use super::schema::playing_record;
  |            ^^^^^^ could not find `schema` in `super`

error[E0432]: unresolved import `super::schema`
 --> src/biz/music/../../model/response/../../models.rs:3:12
  |
3 | use super::schema::favorites;
  |            ^^^^^^ could not find `schema` in `super`

error[E0432]: unresolved import `super::schema`
 --> src/biz/music/../../model/response/../../models.rs:4:12
  |
4 | use super::schema::songs;
  |            ^^^^^^ could not find `schema` in `super`

error[E0432]: unresolved import `super::schema`
 --> src/biz/music/../../model/response/../../models.rs:5:12
  |
5 | use super::schema::playlist;
  |            ^^^^^^ could not find `schema` in `super`

error[E0432]: unresolved import `super::schema`
 --> src/biz/music/../../model/response/../../models.rs:6:12
  |
6 | use super::schema::album;
  |            ^^^^^^ could not find `schema` in `super`

schema.rs文件路径app_root/src/schema.rs我使用错误的方式导入?这样的问题是什么?我该怎么做才能让它发挥作用?这是main.rs

#[macro_use]
extern crate rocket;

#[macro_use]
extern crate diesel;

// #[macro_use]
// extern crate redis;

#[path="biz/music/music.rs"] mod music;
#[path="config/db/config.rs"] mod config;
#[path="biz/music/songs.rs"] mod songs;
#[path="biz/music/test.rs"] mod test;
#[path="biz/user/user.rs"] mod user;
#[path="biz/music/playlist.rs"] mod playlist;


#[launch]
fn rocket() -> _ {
    rocket::build()
        .mount("/music/music", routes![music::play_record,music::save_play_record,music::like,music::dislike])
        .mount("/music/songs",routes![songs::detail])
        .mount("/music/user",routes![user::recent_found])
        .mount("/music/playlist",routes![playlist::user_playlist])
        .mount("/music/test", routes![test::detail])
}
kmdreko

您不应该使用#[path = ...]来尝试导入models.rs. 它将声明一个新模块,而不是像main.rs. 这反过来又弄乱了如何导入东西,因为super这并不意味着同样的事情。

相反,您应该简单地使用以下方法导入它:

use crate::models;

也可以看看:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

导入模块时找不到 ts 文件中的函数

尝试导入熊猫时在 Python 中找不到模块错误

在多个目录中组织Rust代码时无法解析的导入

导入.jsx文件时找不到模块

导入嵌套模块时找不到模块

找不到Nuxt导出“默认”(导入为“ mod”)

在Ubuntu 12.04中的Python 2.7中导入Tensorflow时出错。“找不到GLIBC_2.17”

将Objective-C框架导入Swift项目时,在Bridging Header中获取“找不到文件”

导入混合框架时在iOS应用中找不到Swift类

导入mod_python时出现错误

执行eslint时找不到模块“ json-schema”错误

使用VS Code时,如何在Rust中解决“未解决的导入”问题?

在Rust 2018中跨模块调用函数时出现“未解决的导入”

Angular 10:尝试导入模块时找不到名称

在Pycharm外部运行脚本时找不到导入?

添加为子目录时找不到导入

程序编译时,Idris REPL找不到导入

使用导入而不是require时找不到模块

导入 mp3 时出现“找不到模块”错误

使用Webpack时找不到导入模块的字体文件

导入org.robolectric时Android Studio找不到包

导入组件类时找不到导致错误的原因

导入CSS文件时的流程“找不到所需的模块”

将 css 导入 html 时找不到错误

DLL加载失败:导入scipy时找不到指定的模块

导入熊猫python时出错-找不到DLL

导入svg文件时,打字稿找不到模块

导入 Pyspark Delta Lake 模块时找不到模块错误

在IntelliJ中导入外部库时找不到对象错误