ruby on rails 入门注意事项 3

简介:

参考我前面的博客:

 http://hw1287789687.iteye.com/blog/2288230

 http://hw1287789687.iteye.com/blog/2288267

(1)更新记录的视图

 我原来写的(不成熟):

Ruby代码   收藏代码
  1. <div>编辑</div>  
  2.   
  3. <%= link_to "列表", {:action => 'list'} %>&nbsp;  
  4. <div>  
  5.   <%= form_for :article, method: "PUT", url: {action: "update"do |f| %>  
  6.   
  7.       <ul>  
  8.         <li>  
  9.           <label for="">title:</label>  
  10.           <input type="text" name="article[title]" value="<%= @article.title %>">  
  11.         </li>  
  12.         <li>  
  13.           <label for="">text:</label>  
  14.           <input type="text" name="article[text]" value="<%= @article.text %>">  
  15.         </li>  
  16.         <li>  
  17.           <%= f.submit %>  
  18.         </li>  
  19.       </ul>  
  20.       <input type="hidden" name="id" value="<%= @article.id %>">  
  21.   <% end %>  
  22. </div>  

 

最佳实践:

Ruby代码   收藏代码
  1. <div>编辑</div>  
  2.   
  3. <%= link_to "列表", {:action => 'list'} %>&nbsp;  
  4. <div>  
  5.   <%= form_for @article, method: "PUT" do |f| %>  
  6.   
  7.       <ul>  
  8.         <li>  
  9.           <label for="">title:</label>  
  10.           <%= f.text_field :title%>  
  11.         </li>  
  12.         <li>  
  13.           <label for="">text:</label>  
  14.           <%= f.text_field :text%>  
  15.         </li>  
  16.         <li>  
  17.           <%= f.submit %>  
  18.         </li>  
  19.       </ul>  
  20.         
  21.   <% end %>  
  22. </div>  

 特点:

(a)没有手动指定表单提交的action;

(b)没有显式地给文本框赋值

(c)省略id的隐藏域

(2)创建控制器

 bin/rails generate controller pass

      create  app/controllers/pass_controller.rb

      invoke  erb

      create    app/views/pass

      invoke  rspec

      create    spec/controllers/pass_controller_spec.rb

      invoke  helper

      create    app/helpers/pass_helper.rb

      invoke    rspec

      create      spec/helpers/pass_helper_spec.rb

      invoke  assets

      invoke    coffee

      create      app/assets/javascripts/pass.coffee

      invoke    scss

      create      app/assets/stylesheets/pass.scss

(3)查看路由

 bin/rake routes

       Prefix Verb   URI Pattern                  Controller#Action
     articles GET    /articles(.:format)          articles#index
              POST   /articles(.:format)          articles#create
  new_article GET    /articles/new(.:format)      articles#new
edit_article GET    /articles/:id/edit(.:format) articles#edit
      article GET    /articles/:id(.:format)      articles#show
              PATCH  /articles/:id(.:format)      articles#update
              PUT    /articles/:id(.:format)      articles#update
              DELETE /articles/:id(.:format)      articles#destroy
         root GET    /                            welcome#index

(4)创建实体类:

bin/rails generate model Pass title:string username:string  pwd:string description:text status:tinyint

      invoke  active_record

      create    db/migrate/20160403064342_create_passes.rb

      create    app/models/pass.rb

      invoke    rspec

      create      spec/models/pass_spec.rb

      invoke      factory_girl

      create        spec/factories/passes.rb

注意:列与列之间以空格分隔

 因为ruby on rails 是高度的约定优于配置,所以一些细节被隐藏了,比如你看不到form的action属性

相关文章
|
4月前
|
缓存 关系型数据库 数据库
上云一年烧320万美元,成功“下云”六个月后Ruby on Rails之父现身回了 14 个问题!...
上云一年烧320万美元,成功“下云”六个月后Ruby on Rails之父现身回了 14 个问题!...
25 1
|
5月前
|
SQL 前端开发 数据库
前端学 Ruby:熟悉Rails
前端学 Ruby:熟悉Rails
166 0
|
5月前
|
前端开发 Linux 数据库
前端学 Ruby:安装Ruby、Rails
前端学 Ruby:安装Ruby、Rails
75 0
|
7月前
|
Java Linux 应用服务中间件
在 Ruby on Rails 应用程序中重用 Java 代码
在 Ruby on Rails 应用程序中重用 Java 代码
|
9月前
|
存储 前端开发 关系型数据库
Ruby on Rails 快速入门2
Ruby on Rails 快速入门2
126 0
|
9月前
|
移动开发 前端开发 关系型数据库
Ruby on Rails 快速入门1
Ruby on Rails 快速入门1
82 0
|
机器学习/深度学习 开发框架 Java
别梦依稀咒逝川,Ruby二十八年前|M1芯片Mac os系统配置Ruby(3.0.0) on Rails(6.1.1)开发环境
在每个开发者心里,都会有一门“最好”的语言,在这个世界的某个深处,在一些矫矫不群的人们心中,这门语言的名字叫做Ruby,它今年二十八岁了,历史和Java一样的悠久,但是它没有大厂背书、它的性能被开发者诟病、时至今日依然无法高效利用多核资源,甚至于它每年都要被“死亡”一次,相比于有太阳计算机系统、甲骨文、IBM 这些大公司支持的 Java,它是那么的一无所有,但是,它又拥有全世界最虔诚的“信徒”,拥有最活跃的开发者社区,这一切,又让它是那么的应有尽有。是的,这就是Rubyist的理念:有的时候,你想证明给一万个人看,到后来,你发现只得到了一个明白的人,那就够了。
别梦依稀咒逝川,Ruby二十八年前|M1芯片Mac os系统配置Ruby(3.0.0) on Rails(6.1.1)开发环境
|
JavaScript 前端开发 Java
基于Docker在Win10平台搭建Ruby on Rails 6.0框架开发环境
2023年,“非著名Web框架”--Ruby on Rails已经18岁了。在今年,Rails 6.0趋于完善,除了拿掉讨厌的Jquery,Webpacker 也成为默认前端打包方案,Sprockets 开始软着陆,未来很可能会和Jquery一样被彻底废弃,这就是历史的进程。
基于Docker在Win10平台搭建Ruby on Rails 6.0框架开发环境
|
开发框架 安全 Ruby
CVE-2018-3760 Ruby On Rails 路径穿越漏洞
CVE-2018-3760 Ruby On Rails 路径穿越漏洞
168 0
CVE-2018-3760 Ruby On Rails 路径穿越漏洞
|
安全 Ruby
CVE-2019-5418 Ruby on Rails 路径穿越与任意文件读取漏洞
CVE-2019-5418 Ruby on Rails 路径穿越与任意文件读取漏洞
181 0
CVE-2019-5418 Ruby on Rails 路径穿越与任意文件读取漏洞