Ruby on rails初体验(三)
来源:互联网 发布:五月天车祸现场知乎 编辑:程序博客网 时间:2024/05/16 15:02
转载地址:http://www.cnblogs.com/fantiantian/p/3413216.html
1. 介绍
继体验一和体验二中的内容,此节将体验二中最开始的目标来实现,体验二中已经将部门添加的部分添加到了公司的show页面,剩下的部分是将部门列表也添加到公司的显示页面,整体思路和体验二中相同,但是还是会有点小问题,下面看具体实现。
将app/views/departments/index.html.erb复制到app/views/companies/_department_list.html.erb,在company的show.html.erb页面模版中添加如下代码:
<%= render :partial => "department_list" %>
company的show.html.erb页面模板如下:
浏览页面出现如下问题,跟昨天的问题一样,因为变更了控制器,@department实例变量没有初始化,需要添加一个局部变量。
<%= render :partial => "department_list", :locals => { :departments => Department.find_each }%>注意:此处find_each在rails 3.0版本之后才会又该函数,在3.0之前版本:find(:all)
将_department_list.html.erb中循环的实例变量改为局部变量:
<% departments.each do |department| %>
2. 问题
大概就是这个样子,但是有2个问题:
1:在添加部门的页面中,没有必要填写cid,因为在公司信息界面cid信息已经存在。
2:公司现实页面的部门列表中的部门有部分不是属于此公司的,
以为我们查找部门的时候是查找的全部。
下面解决这两个问题:
1:将_new_department.html.erb中的CID的输入框去掉就好。
2:这个麻烦一点,需要有几部完成这个操作:
第一步:我们给Company赋予名为departments的额外属性,我们需要在Company模型代码里定义这个关系:
编辑app/models/company.rb
class Company < ActiveRecord::Base has_many :departmentsend
第二步:将company/show.html.erb中关于传递:department局部变量的方法改为如下方式:
<%= render :partial => "department_list", :locals => { :departments => @company.departments}%>
查案结果,发现错误:
原来ror的主外键关系是通过约定表列的名字来将数据连接起来的,将department中的cid改为company_id,改完之后要将对应的模板中的对应标记进行修改后查看结果正确。
3. 运行效果
- Ruby on rails初体验(三)
- Ruby on rails初体验(一)
- Ruby on rails初体验(一)
- Ruby on rails初体验(一)
- Ruby on rails初体验(二)
- Ruby on Rails 初次冲浪体验
- Ruby on Rails真实案例三则
- Ruby on Rails真实案例三则
- Ruby on Rails真实案例三则
- Ruby on rails 开发笔记(三)
- Ruby on Rails 實戰聖經阅读(三)
- Ruby on Rails总结(三)
- Ruby on Rails总结(三)
- Ruby on Rails学习笔记(三 创建Rails项目)
- Ruby on Rails 体验之旅(一)--安装
- 一个Java程序员的Ruby on Rails体验
- Ruby on Rails 体验之旅(一)--安装
- Ruby & Rails on Rails 進階書單
- Android权限动态申请
- 机器学习实战-AdaBoost-python代码
- 如何用jquery获取input输入框中的值?
- mui底部导航-基于webview模式
- 杭电acm 1052 田忌赛马
- Ruby on rails初体验(三)
- CSDN-markdown编辑器-帮助
- Matlab 和 Simulink 教程学习基础入门
- Zabbix agent安装部署及连接proxy
- JAVA 五 while循环结构练习
- ORA-00445: 后台进程 "J001" 在 120 秒之后仍没有启动的解决方法
- amr转成mp3步骤
- python 列表、元祖、字典整理 12.19
- 组合查询逻辑