Я следую руководству по примерам Diesel, и мой проект выглядит точно вот так. Я хочу изменить его так, чтобы вместо запуска cargo run --bin publish_post 1
вы использовали cargo run
и представляли цикл, подсказывающий вам, какое действие вы хотите запустить.
Я переместил все из bin/
в каталог controllers/
. Я хочу указать это в main.rs
как use controllers::post
, поэтому у меня есть доступ к post::delete()
и т. д.
Как только я перемещаю файлы из bin/
, весь импорт прерывается. Точно так же я не могу ссылаться на него с lib.rs
.
Почему ни один из моих импортов не работает при перемещении файлов? Как я мог получить доступ к методам из этих файлов?
Я хочу такую структуру:
├── controllers
│ └── posts.rs
├── lib.rs
├── main.rs
├── models.rs
├── schema.rs
И в main.rs
я хочу иметь возможность сделать что-то вроде:
use controllers::posts;
pub fn main() {
// pseudocode
loop {
println!("what action would you like to perform?");
let ans = capture_input();
if ans == "insert" {
posts::insert();
} else if ans == "delete" {
posts::delete();
}
}
}