赵龙 全栈之路

rails 前端传递参数查询

| Comments

项目介绍

Notice(通知)可以进行 CRUD 操作,在每条 Notice(通知)的 Show 页面可以发布 Post(评论),Post(评论)也可以进行 CRUD 操作。

1、鼠标悬浮 Delete 按钮上方

网址 http://localhost:3000/notices/2 ,表示这是 id:2 的 Notice(通知)。
页面右下角出现提示 http://localhost:3000/notices/13/posts/2 ,表示 id:3的Post(评论),关联 id:2 的 Notice(通知)。

2、路由解释

rails 项目的网址解析由文件 config/routes.rb 决定。详解 ———— Rails 路由全解

3、断点检测

使用 gem 'pry-rails' 实现断点检测。
在文件 app/controllers/posts_controller.rb 插入断点代码 binding.pry

执行命令 params ,可以查看程序暂停位置接受的参数。

蓝色标注,View(前端)传递的参数是 Hash{"notice_id"=>"12", "id"=>"2"}
,表示点击Post(评论)的 Delete 按钮,该Post(评论)的主键是 "notice_id"=>"12" ,关联 Notice(通知)的外键是"id"=>"2"。这与 View(前端)代码的具体写法直接相关,不同的写法传输的参数形式不一样。这决定了在 Controller (控制器)如何设定接受参数设定(正下方截图中的:notice_id)。

View(前端)

notice_post_path(post) 这是 rails 的内置路径代码写法,会自动生成固定写法的主键与外键字段的 key ,与 Model 与 db 文件的设定无关。

注意:Controller 接受参数的设定与 View(前端)的具体代码写法直接相关,可以通过 gem 'pry-rails' 确定。



执行 quit 或 next 退出 pry 调试状态,程序继续运行。

Comments

comments powered by Disqus