企业汇报系统细节追加(三)
2015-11-29 13:05
162 查看
一/Ajax请求
得到文档查询结果后,不跳转页面,将页面刷新重新显示查询结果即可。
1>在对应<div></div>模块中有如下语句:
<form class="form-inline" action="/doc/query_search" method="post" style="margin-top:10px;margin-bottom:10px;width:100%;float:left" data-remote="true"> #重
点是红色字体部分,提交之后进入query_search方法,将查询条件保存到@docssss。
<div id="table_list"> #此处也可使用<div class="table_lis"> <%= render(:partial =>'table_list',:object =>@docssss)%> #局部模板块,
</div>
2>views/doc新建文件_table_list.html.erb,存放模板页面要显示的东西
<table class="table table-hover" >
......
</table> 3>在query_search.js.erb文件调用html()方法:
$("#table_list").html("<%=j(render:partial=>'table_list', :locals=>{:object=>@docssss})%>") #html方法将render的数据重新加载更新,若上面使用<div
class="table_lis">,此处则用$(".table_list")
4>render的几种传值方式:具体内容见http://guides.rubyonrails.org/v3.2/layouts_and_rendering.html
4.1 rendernothing:
b,
c,
4.3 renderan action's template from another controller a,
c,
4.5 rendertext
4.5 render xml
二/级联删除,用destroy做删除不仅会当前的数据,还会处理关联的信息 和callback,而delete只把当条数据删除 不会走callback 和 关联的信息
1>在company.html.erb文件中定义删除方法如下:
def delete
@company = Company.find(params[:id])
@com_id = @company.pre_id
@company.destroy redirect_to "/company/index?id=#{@com_id}"
end
2>在models/company.rb定义表单之间的依赖关系:
class Company < ActiveRecord::Base
attr_accessible :name, :pre_id
has_many :docs, :class_name =>"Doc", :foreign_key=>"com_id",:dependent =>:destroy
has_many :users, :class_name =>"User",:foreign_key=>"com_id", :dependent =>:destroy
# has_many :child_companies, :class_name =>"Company", :dependent =>:destroy end
注意:不能对自己有has_many的关系绑定,就像不能说我有很多个我一样。
3>在models/doc.rb定义表单之间的依赖关系如下:
class Doc < ActiveRecord::Base
attr_accessible :com_id, :content, :title, :comment, :doc_status, :publish_time, :p_user_id, :exmaine_status, :e_user_id, :c_user_id, :exmaine_time
# validates :title, :content, presence: true,uniqueness: true
belongs_to :company, :class_name =>"Company",:foreign_key =>"com_id" end
注意:有外键的一定要写上外键
4>在models/user.rb定义表单之间的依赖关系如下:
class User < ActiveRecord::Base
attr_accessible :com_id, :name, :password, :user_type
validates :name, presence: true,uniqueness: true
validates :password, presence: true
validates :com_id, presence: true
validates :user_type, presence: true
has_many :operationlogs
belongs_to :company,:foreign_key=>"com_id"
end附加--代码规范要点:1.
缩进
缩进两个空格或者软tab = 2个空格,每个block的开始和结束要对齐
def method_a
[两个空格]code
end
代码一眼看过去就应该看到代码属于哪个层级或者代码块中2.
空格问题
= == =>+ - * /两侧都要有一个空格,是一个不是2个或者多个,定义method的时候def
method_a(a, b, c) 逗号后面加一个空格。调用的时候同理。 不要参数都堆到一起。数组的初始化的时候也是一样a = [1, a, b]3.
写注释的时候不要用begin和end
多行的话# comment1
# comment2
# ….
#后面有一个空格4.空行问题
一个方法中,有好几个逻辑片段的话,可以每个片段直接加一个空行,这样更清晰。两个方法之间要加一个空行5.代码实现要加注释
#doc start
#name:index
#desp:显示用户登录页面
#params:none
#coder:liming
#releasetime:2015.11.23 #updatetime:2015.11.29 #doc end修改于第四周周日
第二次修改于第六周周二
得到文档查询结果后,不跳转页面,将页面刷新重新显示查询结果即可。
1>在对应<div></div>模块中有如下语句:
<form class="form-inline" action="/doc/query_search" method="post" style="margin-top:10px;margin-bottom:10px;width:100%;float:left" data-remote="true"> #重
点是红色字体部分,提交之后进入query_search方法,将查询条件保存到@docssss。
<div id="table_list"> #此处也可使用<div class="table_lis"> <%= render(:partial =>'table_list',:object =>@docssss)%> #局部模板块,
</div>
2>views/doc新建文件_table_list.html.erb,存放模板页面要显示的东西
<table class="table table-hover" >
......
</table> 3>在query_search.js.erb文件调用html()方法:
$("#table_list").html("<%=j(render:partial=>'table_list', :locals=>{:object=>@docssss})%>") #html方法将render的数据重新加载更新,若上面使用<div
class="table_lis">,此处则用$(".table_list")
4>render的几种传值方式:具体内容见http://guides.rubyonrails.org/v3.2/layouts_and_rendering.html
4.1 rendernothing:
render
:nothing
=>
true
4.2 renderan acion's viewa,
render
"edit":传递视图名。
b,
render
:edit:用对象传值。
c,
render
:action
=>
"edit":传递动作。
4.3 renderan action's template from another controller a,
render
'products/show' :传递完整的方法路径。
b,
render
:template
=>
'products/show':传递具体方法路径。
c,
render
:template
=>
'products/show' :传递任意一个文件。
4.4 renderan arbitrary file
render
"/u/apps/warehouse_app/current/app/views/products/show"
render
:file
=>
"/u/apps/warehouse_app/current/app/views/products/show" :传递具体的文件路径。
4.5 rendertext
render
:text
=>
"OK"
4.4 renderJSON
render
:json
=>
@product
4.5 render xml
render
:xml
=>
@product
4.6 rendervanilla javascript
二/级联删除,用destroy做删除不仅会当前的数据,还会处理关联的信息 和callback,而delete只把当条数据删除 不会走callback 和 关联的信息
1>在company.html.erb文件中定义删除方法如下:
def delete
@company = Company.find(params[:id])
@com_id = @company.pre_id
@company.destroy redirect_to "/company/index?id=#{@com_id}"
end
2>在models/company.rb定义表单之间的依赖关系:
class Company < ActiveRecord::Base
attr_accessible :name, :pre_id
has_many :docs, :class_name =>"Doc", :foreign_key=>"com_id",:dependent =>:destroy
has_many :users, :class_name =>"User",:foreign_key=>"com_id", :dependent =>:destroy
# has_many :child_companies, :class_name =>"Company", :dependent =>:destroy end
注意:不能对自己有has_many的关系绑定,就像不能说我有很多个我一样。
3>在models/doc.rb定义表单之间的依赖关系如下:
class Doc < ActiveRecord::Base
attr_accessible :com_id, :content, :title, :comment, :doc_status, :publish_time, :p_user_id, :exmaine_status, :e_user_id, :c_user_id, :exmaine_time
# validates :title, :content, presence: true,uniqueness: true
belongs_to :company, :class_name =>"Company",:foreign_key =>"com_id" end
注意:有外键的一定要写上外键
4>在models/user.rb定义表单之间的依赖关系如下:
class User < ActiveRecord::Base
attr_accessible :com_id, :name, :password, :user_type
validates :name, presence: true,uniqueness: true
validates :password, presence: true
validates :com_id, presence: true
validates :user_type, presence: true
has_many :operationlogs
belongs_to :company,:foreign_key=>"com_id"
end附加--代码规范要点:1.
缩进
缩进两个空格或者软tab = 2个空格,每个block的开始和结束要对齐
def method_a
[两个空格]code
end
代码一眼看过去就应该看到代码属于哪个层级或者代码块中2.
空格问题
= == =>+ - * /两侧都要有一个空格,是一个不是2个或者多个,定义method的时候def
method_a(a, b, c) 逗号后面加一个空格。调用的时候同理。 不要参数都堆到一起。数组的初始化的时候也是一样a = [1, a, b]3.
写注释的时候不要用begin和end
多行的话# comment1
# comment2
# ….
#后面有一个空格4.空行问题
一个方法中,有好几个逻辑片段的话,可以每个片段直接加一个空行,这样更清晰。两个方法之间要加一个空行5.代码实现要加注释
#doc start
#name:index
#desp:显示用户登录页面
#params:none
#coder:liming
#releasetime:2015.11.23 #updatetime:2015.11.29 #doc end修改于第四周周日
第二次修改于第六周周二
相关文章推荐
- 计算机技术领域当前的主流技术及其社会需求调查报告
- Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解
- 程序员技术练级攻略
- 谈谈Java程序员进阶的那些知识和方向
- Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
- ubuntu 安装配置samba服务器
- UESTC 761 LoveZx与期末考试
- “滑机约拍”--第二阶段冲刺(2)
- 用CSS做长度超过长度显示‘...’,当鼠标放上时显示全部内容
- java中的堆、栈和常量池
- leetcode Search a 2D Matrix
- 系统相关
- django简化url配置
- maven生命周期
- 第二个Sprint冲刺第六天(燃尽图)补
- 泛型入门
- Android面试题精选
- 个人的幸福是个人的还是公众的?
- 操作集合的工具类:Collections
- Map