Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
e1099eb4
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e1099eb4
编写于
11月 13, 2011
作者:
V
Vijay Dev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Revert "Update guide to use Ruby 1.9 hash syntax"
This reverts commit
50a9de51
. Reason: Let's keep the guides at 1.8 syntax
上级
50a9de51
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
45 addition
and
43 deletion
+45
-43
railties/guides/source/getting_started.textile
railties/guides/source/getting_started.textile
+45
-43
未找到文件。
railties/guides/source/getting_started.textile
浏览文件 @
e1099eb4
...
...
@@ -524,10 +524,10 @@ Blog::Application.routes.draw do
#...
# You can have the root of your site routed with "root"
# just remember to delete public/index.html.
root
to:
"home#index"
root
:to =>
"home#index"
</ruby>
The +root
to:
"home#index"+ tells Rails to map the root action to the home
The +root
:to =>
"home#index"+ tells Rails to map the root action to the home
controller's index action.
Now if you navigate to "http://localhost:3000":http://localhost:3000 in your
...
...
@@ -696,9 +696,9 @@ Open the +app/models/post.rb+ file and edit it:
<ruby>
class Post
<
ActiveRecord::Base
validates
:name
,
presence:
true
validates
:title
,
presence:
true
,
length:
{
minimum:
5
}
validates
:name
,
:presence =
>
true
validates
:title
,
:presence =
>
true,
:length =
>
{
:minimum =
>
5
}
end
</
ruby
>
...
...
@@ -725,7 +725,7 @@ open a console that will roll back any changes you make by using <tt>rails conso
After the console loads, you can use it to work with your application's models:
<shell>
>> p = Post.new(
content:
"A new post")
>> p = Post.new(
:content =>
"A new post")
=> #
<Post
id:
nil
,
name:
nil
,
title:
nil
,
content:
"
A
new
post
",
created_at:
nil
,
updated_at:
nil
>
...
...
@@ -758,15 +758,11 @@ def index
respond_to do |format|
format.html # index.html.erb
format.json { render
json:
@posts }
format.json { render
:json =>
@posts }
end
end
</ruby>
TIP: This Guide was written using Ruby 1.9.2. If you are using Ruby 1.8.7, some of
the syntax may look slightly different. For example, the hash syntax changed from
render :json => @posts (1.8.7) to render json: @posts (1.9.2).
+Post.all+ calls the all method on the +Post+ model, which returns all of
the posts currently in the database. The result of this call is an array
of Post records that we store in an instance variable called +@posts+.
...
...
@@ -801,7 +797,8 @@ Here's +app/views/posts/index.html.erb+:
<td><
%=
post.content
%
></td>
<td><
%=
link_to
'
Show
',
post
%
></td>
<td><
%=
link_to
'
Edit
',
edit_post_path
(
post
)
%
></td>
<td><
%=
link_to
'
Destroy
',
post
,
confirm:
'
Are
you
sure
?',
method:
:delete
%
></td>
<td><
%=
link_to
'
Destroy
',
post
,
:confirm =
>
'Are you sure?'
,
:method =
>
:delete
%
></td>
</tr>
<
%
end
%
>
</table>
...
...
@@ -869,7 +866,7 @@ def new
respond_to do |format|
format.html # new.html.erb
format.json { render
json:
@post }
format.json { render
:json =>
@post }
end
end
</ruby>
...
...
@@ -961,11 +958,14 @@ def create
respond_to do |format|
if @post.save
format.html { redirect_to @post, notice: 'Post was successfully created.' }
format.json { render json: @post, status: :created, location: @post }
format.html { redirect_to(@post,
:notice => 'Post was successfully created.') }
format.json { render :json => @post,
:status => :created, :location => @post }
else
format.html { render action: "new" }
format.json { render json: @post.errors, status: :unprocessable_entity }
format.html { render :action => "new" }
format.json { render :json => @post.errors,
:status => :unprocessable_entity }
end
end
end
...
...
@@ -1003,8 +1003,8 @@ def show
@post = Post.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json
{ render json:
@post }
format.html
# show.html.erb
format.json
{ render :json =>
@post }
end
end
</ruby>
...
...
@@ -1073,11 +1073,13 @@ def update
respond_to do |format|
if @post.update_attributes(params[:post])
format.html { redirect_to @post, notice: 'Post was successfully updated.' }
format.json { head :ok }
format.html { redirect_to(@post,
:notice => 'Post was successfully updated.') }
format.json { render :json => {}, :status => :ok }
else
format.html { render action: "edit" }
format.json { render json: @post.errors, status: :unprocessable_entity }
format.html { render :action => "edit" }
format.json { render :json => @post.errors,
:status => :unprocessable_entity }
end
end
end
...
...
@@ -1213,9 +1215,9 @@ You'll need to edit the +post.rb+ file to add the other side of the association:
<ruby>
class Post
<
ActiveRecord::Base
validates
:name
,
presence:
true
validates
:title
,
presence:
true
,
length:
{
:minimum:
5
}
validates
:name
,
:presence =
>
true
validates
:title
,
:presence =
>
true,
:length =
>
{
:minimum =
>
5
}
has_many
:comments
end
...
...
@@ -1557,8 +1559,8 @@ So first, let's add the delete link in the
<p>
<
%=
link_to
'
Destroy
Comment
',
[
comment.post
,
comment
],
confirm:
'
Are
you
sure
?',
method:
:delete
%
>
:confirm =
>
'Are you sure?'
,
:method =
>
:delete
%
>
</p>
</erb>
...
...
@@ -1600,10 +1602,10 @@ model, +app/models/post.rb+, as follows:
<ruby>
class Post
<
ActiveRecord::Base
validates
:name
,
presence:
true
validates
:title
,
presence:
true
,
length:
{
minimum:
5
}
has_many
:comments
,
dependent:
:destroy
validates
:name
,
:presence =
>
true
validates
:title
,
:presence =
>
true,
:length =
>
{
:minimum =
>
5
}
has_many
:comments
,
:dependent =
>
:destroy
end
</
ruby
>
...
...
@@ -1627,7 +1629,7 @@ action, except for +index+ and +show+, so we write that:
<ruby>
class PostsController
<
ApplicationController
http_basic_authenticate_with
name:
"
dhh
",
password:
"
secret
",
except:
[
:index
,
:show
]
http_basic_authenticate_with
:name =
>
"dhh"
,
:password =
>
"secret"
,
:except =
>
[:index,
:show
]
#
GET
/
posts
#
GET
/
posts.json
...
...
@@ -1643,7 +1645,7 @@ We also only want to allow authenticated users to delete comments, so in the
<ruby>
class CommentsController
<
ApplicationController
http_basic_authenticate_with
name:
"
dhh
",
password:
"
secret
",
only:
:destroy
http_basic_authenticate_with
:name =
>
"dhh"
,
:password =
>
"secret"
,
:only =
>
:destroy
def
create
@
post =
Post.find(params[:post_id])
...
...
@@ -1681,14 +1683,15 @@ edit tags via posts:
<ruby>
class Post
<
ActiveRecord::Base
validates
:name
,
presence:
true
validates
:title
,
presence:
true
,
length:
{
minimum:
5}
has_many
:comments
,
dependent:
:destroy
validates
:name
,
:presence =
>
true
validates
:title
,
:presence =
>
true,
:length =
>
{
:minimum =
>
5
}
has_many
:comments
,
:dependent =
>
:destroy
has_many
:tags
accepts_nested_attributes_for
:tags
,
allow_destroy:
:true
,
reject_if:
proc
{
|
attrs
|
attrs.all
?
{
|
k
,
v
|
v.blank
?
}
}
accepts_nested_attributes_for
:tags
,
:allow_destroy =
>
:true,
:reject_if =
>
proc
{
|
attrs
|
attrs.all
?
{
|
k
,
v
|
v.blank
?
}
}
end
</
ruby
>
...
...
@@ -1726,9 +1729,8 @@ We will modify +views/posts/_form.html.erb+ to render a partial to make a tag:
<
%=
post_form.text_area
:content
%
>
</div>
<h2>
Tags
</h2>
<
%=
render
partial:
'
tags
/
form
',
locals:
{
form:
post_form
}
%
>
<
%=
render
:partial =
>
'tags/form'
,
:locals =
>
{:form
=
>
post_form} %>
<div
class=
"actions"
>
<
%=
post_form.submit
%
>
</div>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录