开发者社区> 黄威的世界> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

ruby on rails 入门注意事项

简介:
+关注继续查看

首先声明:本文不是ruby on rails的入门教程

入门教程可以参考:

http://www.tutorialspoint.com/ruby-on-rails/rails-controllers.htm

http://guides.rubyonrails.org/active_record_basics.html

http://guides.rubyonrails.org/getting_started.html#saving-data-in-the-controller

本文仅列举入门过程中容易犯的错误

ruby版本:

ruby -v

ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]

rails版本:

 rails -v

Rails 4.2.6

 gem -v

2.5.1

 rake --version

rake, version 11.1.2

(1)配置文件冒号后面缺少空格

注意:冒号后面需要空格

 

 

(2)获取表单参数

以为

Ruby代码  收藏代码
  1. params[article]  

 可以获取表单提交的参数

article前面要加上冒号

正确:

Ruby代码  收藏代码
  1. params[:article]  

 

(3)持久化表单参数

最开始以为:

Ruby代码  收藏代码
  1. # 增加,持久化到数据库  
  2.   def create  
  3.     articles = Article.create(params[:article])  
  4.     render plain: params[:article].inspect  
  5.   end  

 结果报错:

ActiveModel::ForbiddenAttributesError

正确的:

Ruby代码  收藏代码
  1. # 增加,持久化到数据库  
  2.   def create  
  3.     articles = Article.create(params.require(:article).permit(:title:text))  
  4.     render plain: params[:article].inspect  
  5.   end  

 范例:

Ruby代码  收藏代码
  1. def create  
  2.    @book = Book.new(book_params)  
  3.       
  4.    if @book.save  
  5.       redirect_to :action => 'list'  
  6.    else  
  7.       @subjects = Subject.all  
  8.       render :action => 'new'  
  9.    end  
  10.      
  11. end  
  12.   
  13. def book_params  
  14.    params.require(:books).permit(:title:price:subject_id:description)  
  15. end  

 

 

(4)传递数据到view

以为这样就可以把model传递到view:

Ruby代码  收藏代码
  1. # 条件查询  
  2.   def show  
  3.     id=params[:id]  
  4. article=Article.find_by(id: id)  
  5.      
  6.   end  

 article前面应该加上at符号

正确的:

Ruby代码  收藏代码
  1. # 条件查询  
  2.  def show  
  3.    id=params[:id]  
  4.    @article=Article.find_by(id: id)  
  5.    end  

 

 

添加记录的表单(app/views/articles/new.html.erb):

Ruby代码  收藏代码
  1. <h1>New Article</h1>  
  2. <div>  
  3.   <%= form_for :article, url: articles_path do |f| %>  
  4.       <p>  
  5.         <%= f.label :title %><br>  
  6.         <%= f.text_field :title %>  
  7.       </p>  
  8.   
  9.       <p>  
  10.         <%= f.label :text %><br>  
  11.         <%= f.text_area :text %>  
  12.       </p>  
  13.   
  14.       <p>  
  15.         <input type="text" name="username">  
  16.       </p>  
  17.       <p>  
  18.         <%= f.submit %>  
  19.       </p>  
  20.   <% end %>  
  21.   
  22. </div>  

 注意:等号后面需要空格

查询结果的显示页面(app/views/articles/show.html.erb):

Ruby代码  收藏代码
  1. <div>查询结果:</div>  
  2. <div>  
  3.   <ul>  
  4.     <li>  
  5.       <label for="">title:</label>  
  6.       <label for=""> <%= @article.title %> </label>  
  7.     </li>  
  8.     <li>  
  9.       <label for="">text:</label>  
  10.       <label for=""> <%= @article.text %> </label>  
  11.     </li>  
  12.   </ul>  
  13. </div>  

 (5)启动服务

 

powder link

或者:

 

./bin/rails server(端口默认是:3000)

停止服务:powder unlink

(6)执行migrate

 功能:创建数据表

rake db:migrate

 

rake db:migrate VERSION=20080906120000

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
推荐 7 款最好的 Ruby on Rails 集成开发环境
Ruby 是个动态面向对象、通用的编程语言。它支持多种编程范式,包括面向功能和面向对象。同时它也包括一个动态类型系统和自动内存管理。 编辑器和集成开发环境(IDE)有些不同,编辑器是用来添加,编辑,查看文件内容的工具,而 IDE 则是一系列大致集中在一个共同任务的工具,比如 Ruby 开发,和所有包含这种形式的编辑器。
124 0
Ruby on Rails 开发 web
Ruby on Rails 正在令整个 Web 开发领域受到震憾。让我们首先了解底层的技术: Ruby 是一门免费的、简单的、直观的、可扩展的、可移植的、解释的脚本语言,用于快速而简单的面向对象编程。类似于 Perl,它支持 处理文本文件和执行系统管理任务的很多特性。 Rails 是用 Ruby 编写的一款完整的、开放源代码的 Web 框架,目的是使用更简单而且更少的代码编
1750 0
Ruby on Rails Tutorial读书笔记-1
只是怕忘了命令,全部撸一次,记个大概。。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~   安装Ruby之前,先要安装RVM:   curl -L https://get.rvm.
850 0
第一个Ruby On Rails WEB应用程序HelloWorld
经过不懈努力终于把Ruby On Ralis 的开发环境搭建好了,在WIN7系统下,赶紧来个最最常用的例子来练练手吧,感受一下Ruby。。。 再次声明一下,我的ruby -v是ruby-2.0.0p247。
1187 0
Radiant: 基于Ruby on Rails的内容管理系统
Radiant是一个开源的CMS[内容管理系统],建立于Ruby on Rails。Radiant是为一些小的开发团队而创建的[Publishing for Small Teams],因为它的相关操作需要一些编程知识。
727 0
Ruby On Rails学习笔记(1)——安装Instant Rails
       Instans Rails是一个ROR的一个一站式解决方案,其中包含了Ruby、Rails、Apache和MySQL,并且所有都已经配置完成,可以直接运行。下面是在Windows XP安装和启动Instant Rails的过程。
785 0
【Ruby on Rails全栈课程】3.5 注册功能
订阅专栏 注册页面成功显示之后,我们开始实现注册功能~~ 1、功能描述 (1)注册时需要填写信息:用户名、邮箱、密码、确认密码、选择角色 (2)用户角色分为普通用户、管理员、超级管理员,后期方便对用户进行权限管理 (3)邮箱要求唯一,注册成功发送欢迎邮件到注册邮箱(之后章节讲解) (4)密码需要通过SSL进行加密之后,存入到数据库 (5)用户名的长度规定小于等于5个字符、密码和确认密码需要一致
12 0
+关注
黄威的世界
我是一个热衷IT技术的人,希望自己不断地设计开发出对别人非常有用的软件。有近7年的java开发经验(包括2年Android开发经验)和一年左右的linux使用经验。擅长Java Web后台开发 ,喜欢研究新的各种实用技术
667
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载