Rails增删改查之2#show
2018-09-21 本文已影响0人
小小修行者
需求:点击“查看”,能查看班级的详细内容,如班级的学生,班级的老师等内容。
准备工作:先gemfile中安装“pry”这个gem包。后bundle install,后关闭并重启服务器rails s。

第一步,在主页index页面中,添加“查看班级”按钮。
1)找到路由表中的show方法对应的路径是myclass:

后,编写按钮

之后在主页上就能显示链接了。

点击按钮后,就跳到#show页面了,显示我们还没有在MyclassesController中创建#show方法。

第二步,创建#show方法。
我们在MyclassesController中,添加show方法,并在show中输入binding.pry,打入断点。

我们点击后index中的“查看班级”后,进入断点。在后台输入params,查看现在传到show页面的有什么参数。其中,id=1是前台传过来的。

现在我们输入Myclass.find(params[:id]),之后返回的结果是class1。这表示我们通过id找到了这条数据

这样我们在MyclassesController#show中,写入这句话,并赋予一个变量。这样show方法就写好了。

我们重新点击“查看班级”按钮,有出现了新的如下提示,说没有views文件。

第三步,新建views页面。
现在我们新建一个/views/myclass/show.html.erb文件。随便写点东西,能正常显示就行。如:

以后可以添加其他字段。至此,#show页面就做好了,我们点击每一个班级都能正常进入该班级的show页面。