rails指令前可以加 spring
spring rake db:migrate
view
# view中嵌套ruby代码
# =的作用就是会输出结果
<%= Time.now.to_s %>
<% %>
# 实例:
# 常用的方法:
# link_to "链接显示文字",options = {}, html_options = {} ;默认是get方法请求,生成超链接
# 下面代码:生成<a>标签(下面是这句话生成的a标签,)
<%= link_to category.name,posts_path(category:category.id),class:"blog-nav-item" %>
<a class="blog-nav-item" href="[/posts?category=1](http://localhost:3000/posts?category=1)">New feature</a>
# form_for: 生成一个前端的表单 关联model
<%= form_for(@user, url: sign_in_path) do |f|%>
<div class="form-group">
<label for="exampleInputEmail1">Email address</label>
<%= f.email_field :email, class:"form-control", placeholder:"Email" %>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password</label>
<%= f.password_field :password, class:"form-control", placeholder:"Password" %>
</div>
<%= f.submit "Sign in",class:"btn btn-default" %>
<% end %>
# 点击sign in按钮之后请求如下:
http://localhost:3000/sign_in
Parameters :{"utf8"=>"✓",
"authenticity_token"=>"Twm5lH19nk/tfFsY906b3HNNn8wYXIK6j1rW3FsxJNg9kMLzRUi8bZeGRxDkFEUWSHJT/IHkWuJu0qM7Xz2CxQ==",
"user"=>{
"email"=>"11111@qq.com",
"password"=>"[FILTERED]"
},
"commit"=>"Sign in"}
# form_tag:生成一个前端的表单 不关联model
<% %>
# view 映射表
input textfield
submit button
model
# 连表查询
Post.joins(:categories).where(categories:{id:params[:category]})
controller
# 页面加载前调用authenticate 方法
before_filter :authenticate
# controller 调用new和create方法时,跳过调用authenticate 方法
skip_before_filter :authenticate, only: [:new, :create]
数据库
# 所有数据库操作都需要先进入 consove
rails c
# 插入一个对象
Post.create(title:'first dota',content:'dota very good',author:'dota_chen',published_at:Time.now)
view和controller数据是如何传递的
# 1. view获取controller中的数据
# 与动作绑定的view,默认可以访问动作中的所有变量
# 2. view传递给controller数据
# 通过post 网络请求传递数据
网友评论