您的位置:首页 > 大数据 > 人工智能

rails 开发随手记 3

2013-04-25 00:58 246 查看
插播一条新闻:10M光纤接入寝室,广大人民奔走相告。

我承认我蛋疼了,因为换装了10M光纤,所以有从ubuntu12.10换到了Kubuntu12.10。。。不再换了。

再插播一条牢骚:这学期虽然课不多,但是事不少。周一只有一节课,周二只有一节课,翘了之后就是一周休息五天的节奏了。

数据库实践居然蛋疼的要写个asp。我晕。我不会,也不想学,于是就给老师申请了换用其他来做。其他=rails

正题:

render

  这东西的效果目前在我看来等同于include或者import之类的,会把指定的片段包含到对应的erb中。

<%= render 'layouts/header' %>


这行代码会寻找一个名为
app/views/layouts/_shim.html.erb
的文件,执行文件中的代码,然后把结果插入视图。

脚手架 scaffold:

<%- model_class = Teacher -%>
<div class="page-header">
<h1><%=t '.title', :default => [:'helpers.titles.edit', 'Edit %{model}'], :model => model_class.model_name.human %></h1>
</div>
<%= render :partial => 'form' %>


我之前在使用了scaffold生成了Teacher,现在观察它的的代码发现,对应的view文件夹下有个_form.html ,里面是对应的表格,应该就是new,edit时的表格了

还要做的就是加个授权验证,非管理员登陆时禁止增删改。我觉得利用helper函数,写个if就差不多了吧。我自己是写了个signed_in? 的函数用于判断用户是否登陆。如果有更好得方式,请指教。

bootstrap 居中显示:



上代码:

.center {
margin-top: 60px;
margin-right: 100px;
margin-bottom: 60px;
margin-left: 100px;
text-align: center;
}


加到app/assets/stylesheets/application.css.scss 里,然后在对应的部分包裹个<div class="center">即可.

model的查询 :看这里:http://guides.ruby-china.org/active_record_querying.html 应该就够用了

表单中动态选项:

恩,就是说,选项的内容来自数据库中。

Helper:
def getRootDepts
Dept.where('FatherID=0').select("DeptName,id").collect{|d| [d.DeptName,d.id]}
end

对应controller对应方法中要有:
@fathers = getRootDepts

对应view:
<div class="control-group">
<%=f.label :上级院系 , class: "control-label"%>
<div class="controls">
<%=f.select(:FatherId, @fathers, {:prompt=>"上级院系"} ) %>
</div>
</div>
具体用法可以查看api文档


如何使用js动态显示元素:

<div>点我:<input onclick="clickme(this)" type="checkbox" /></div>
<div id="laoda" style="display: none;">上级学院:<select>
<option selected="selected">---</option>
<option>张三</option>
<option>李四</option>
<option>大白</option>
</select></div>
<script type="text/javascript">
function clickme(obj){
if(obj.checked){
document.getElementById("laoda").style.display="block";
}
else{
document.getElementById("laoda").style.display="none";
}
}
</script>


效果就是,点了之后对应的div中的内容就不显示了,这个应该属于js的基本应用,从未做过,是故贴出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: