首页 > 其他 > 详细

Rails小记

时间:2014-04-07 12:55:45      阅读:482      评论:0      收藏:0      [点我收藏+]

一:创建一个新的Rails项目

创建一个新的Rails项目输入命令如下:

rails new foo --skip-bundle

注:其中的--skip-bundle是为了绕过防火墙而设的跳过某些命令执行的参数

既然跳过了某些命令,就要想办法通过其他的方式执行,修改如下,打开根目录下的Gemfile文件,将首行的

source https://rubygems.org

修改为:

source http://ruby.taobao.org/

然后在命令行执行:

bundle install

这样就能执行之前被跳过的命令。

 

二、创建控制器

用脚手架创建一个控制器(名为EntriesController):

rails generate controller entries

这将在app/controllers/目录下生成一个entries_controller.rb的文件,其内容为:

class EntriesController < ApplicationController
end

第一行表明了一个重要的关系,EntriesController继承自ApplicationController。ApplicationController位于app/controllers/application_controller.rb内,它也一开始不做些事儿,但若想在应用中所有的控制器里共享的功能就需要放在这里。

在控制器里创建一个sign_in方法:

bubuko.com,布布扣
class EntriesController < ApplicationController
  def sign_in
  end
end
bubuko.com,布布扣

我们也需要一个视图,以致于Rails可以有呈现给访问者的东西。在app/views/entries/目录下创建一个sign_in.html.erb的文件

bubuko.com,布布扣
<h1>Hello <%= @name %></h1>
<%= form_tag :action => sign_in do %> <p>Enter your name: <%= text_field_tag visitor_name, @name %></p>
<%= submit_tag Sign in %>
<% end %>
bubuko.com,布布扣

其中form_tag、text_field_tag和submit_tag为帮助方法。

你需要配置一下路由

bubuko.com,布布扣
get entries/sign_in => entries#sign_in
post entries/sign_in => entries#sign_in
bubuko.com,布布扣

如果你打开服务器并访问http://localhost:3000/entries/sign_in,就会看到一个简单的Rails视图生成的表单。

现在我们有了一个发送数据给控制器的方式,该是更新控制器来处理信息的时候了:

bubuko.com,布布扣
class EntriesController < ApplicationController

  def sign_in
    @name = params[:visitor_name]
  end
 
end
bubuko.com,布布扣

三、Rails是如果分解URL来路由的

bubuko.com,布布扣
match :controller(/:action(/:id(.:format)))

http://localhost:3000/entries/show/1.xml
其中
localhost:3000为服务器名
entries为控制器名
show为Action名
1为id值
xml为格式值
bubuko.com,布布扣

 

 

Rails小记,布布扣,bubuko.com

Rails小记

原文:http://www.cnblogs.com/lenovoengineer/p/3647417.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!