首先声明:本文不是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)获取表单参数
以为
params[article]
可以获取表单提交的参数
article前面要加上冒号
正确:
params[:article]
(3)持久化表单参数
最开始以为:
# 增加,持久化到数据库 def create articles = Article.create(params[:article]) render plain: params[:article].inspect end
结果报错:
ActiveModel::ForbiddenAttributesError
正确的:
# 增加,持久化到数据库 def create articles = Article.create(params.require(:article).permit(:title, :text)) render plain: params[:article].inspect end
范例:
def create @book = Book.new(book_params) if @book.save redirect_to :action => 'list' else @subjects = Subject.all render :action => 'new' end end def book_params params.require(:books).permit(:title, :price, :subject_id, :description) end
(4)传递数据到view
以为这样就可以把model传递到view:
# 条件查询 def show id=params[:id] article=Article.find_by(id: id) end
article前面应该加上at符号
正确的:
# 条件查询 def show id=params[:id] @article=Article.find_by(id: id) end
添加记录的表单(app/views/articles/new.html.erb):
<h1>New Article</h1> <div> <%= form_for :article, url: articles_path do |f| %> <p> <%= f.label :title %><br> <%= f.text_field :title %> </p> <p> <%= f.label :text %><br> <%= f.text_area :text %> </p> <p> <input type="text" name="username"> </p> <p> <%= f.submit %> </p> <% end %> </div>
注意:等号后面需要空格
查询结果的显示页面(app/views/articles/show.html.erb):
<div>查询结果:</div> <div> <ul> <li> <label for="">title:</label> <label for=""> <%= @article.title %> </label> </li> <li> <label for="">text:</label> <label for=""> <%= @article.text %> </label> </li> </ul> </div>
(5)启动服务
powder link
或者:
./bin/rails server(端口默认是:3000)
停止服务:powder unlink
(6)执行migrate
功能:创建数据表
rake db:migrate
rake db:migrate VERSION=20080906120000
相关推荐
#### Rails入门 - **前提条件**:为了能够顺利地开始Rails的学习之旅,读者需要具备一定的Ruby语言基础,并且对Web开发有一定的了解。 - **Rails是什么?**:Rails是一种用于开发服务器端应用程序的模型-视图-控制...
在部署Rails应用到生产服务器之前,有许多事项需要注意。本章将讲述如何配置合适的服务器环境、选择适当的部署工具,以及如何确保应用能够在生产环境下稳定运行。 ### 附录A:附加资源 除了正文内容外,本书还提供...
书中在第 1 章“安装 Rails”中详细说明了如何安装 Rails 3 的过程,并提供了相应的步骤和注意事项。 #### 如何检查 Rails 版本 要确定当前正在使用的 Rails 版本,可以通过命令行输入 `rails -v` 命令来查看。...
笔记编程Ruby Ruby元编程 Ruby on Rails教程 敏捷Web开发Rails 5 附注4(21-24) 杂项Ruby其他注释Rails杂项说明上传文件说明注意事项Sidekiq注意Webpacker注意相关的其他项目及笔记: 资本主义研究耙研要学习: ...
9. **Rails最佳实践**:编码风格、性能优化、安全注意事项等。 10. **开发工具**:可能介绍像Rails Console、Rails Server、Rails Generators等命令行工具,以及IDEs(如Visual Studio Code、Atom、RubyMine)和文本...
在"注意.pdf"、"注意下.pdf"和"说明.pdf"中,可能会涵盖一些特别提示、注意事项或更深入的解释,比如Ruby的版本差异、最佳实践,或者如何避免常见的编程陷阱。 总的来说,通过这个“Ruby 语言教程从小白到入门”的...
6. **Ruby on Rails框架**:简要介绍如何利用Ruby on Rails这一流行的Web开发框架快速搭建功能丰富的网站。 #### 四、深入底层技术 1. **Ruby内部机制揭秘**:每章末尾都包含“Digging Deeper”部分,揭示Ruby运行...
它由Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用Ruby on Rails编写。目前最新版本为Version 2.0,对应的osgEarth版本为osgearth_2.0_T2011-02-24。 **Option 2: 下载tarball** - **简介**:tarball是一种...
该网站支持Ruby on Rails编写,并提供了最新的`osgEarth`版本(例如`osgearth_2.0_T2011-02-24`)。 - **Option 2: 下载tarball** - **简介**:适用于Linux用户,可以通过下载tarball文件获得`osgEarth`源码包。 ...