Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
cf56397c
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,体验更适合开发者的 AI 搜索 >>
提交
cf56397c
编写于
9月 20, 2017
作者:
Y
yalab
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
scaffold nested name controller should be fine.
上级
801ccab2
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
75 addition
and
10 deletion
+75
-10
railties/lib/rails/generators/erb/scaffold/templates/_form.html.erb
...ib/rails/generators/erb/scaffold/templates/_form.html.erb
+1
-1
railties/lib/rails/generators/erb/scaffold/templates/index.html.erb
...ib/rails/generators/erb/scaffold/templates/index.html.erb
+4
-4
railties/lib/rails/generators/named_base.rb
railties/lib/rails/generators/named_base.rb
+32
-3
railties/lib/rails/generators/rails/scaffold_controller/templates/controller.rb
...erators/rails/scaffold_controller/templates/controller.rb
+2
-2
railties/test/generators/named_base_test.rb
railties/test/generators/named_base_test.rb
+13
-0
railties/test/generators/scaffold_controller_generator_test.rb
...ies/test/generators/scaffold_controller_generator_test.rb
+23
-0
未找到文件。
railties/lib/rails/generators/erb/scaffold/templates/_form.html.erb
浏览文件 @
cf56397c
<%%
=
form_with
(
model:
<
%=
singular_tabl
e_name
%>
, local: true) do |form| %>
<%%
=
form_with
(
model:
<
%=
model_resourc
e_name
%>
, local: true) do |form| %>
<%%
if <%=
singular_table_name
%>
.errors.any? %>
<div
id=
"error_explanation"
>
<h2>
<%%
=
pluralize
(
<
%= singular_table_name
%>
.errors.count, "error") %> prohibited this
<%=
singular_table_name
%>
from being saved:
</h2>
...
...
railties/lib/rails/generators/erb/scaffold/templates/index.html.erb
浏览文件 @
cf56397c
...
...
@@ -18,9 +18,9 @@
<%
attributes.reject(&:password_digest?).each do |attribute|
-%>
<td>
<%%
=
<
%= singular_table_name
%>
.
<%=
attribute.name
%>
%>
</td>
<%
end
-%>
<td>
<%%
=
link_to
'Show'
,
<
%=
singular_tabl
e_name
%>
%>
</td>
<td>
<%%
=
link_to
'Edit'
,
edit_
<
%= singular_
tabl
e_name
%>
_path(
<%=
singular_table_name
%>
) %>
</td>
<td>
<%%
=
link_to
'Destroy'
,
<
%=
singular_tabl
e_name
%>
, method: :delete, data: { confirm: 'Are you sure?' } %>
</td>
<td>
<%%
=
link_to
'Show'
,
<
%=
model_resourc
e_name
%>
%>
</td>
<td>
<%%
=
link_to
'Edit'
,
edit_
<
%= singular_
rout
e_name
%>
_path(
<%=
singular_table_name
%>
) %>
</td>
<td>
<%%
=
link_to
'Destroy'
,
<
%=
model_resourc
e_name
%>
, method: :delete, data: { confirm: 'Are you sure?' } %>
</td>
</tr>
<%%
end
%>
</tbody>
...
...
@@ -28,4 +28,4 @@
<br>
<%%
=
link_to
'
New
<
%= singular_table_name.titleize
%>
', new_
<%=
singular_
tabl
e_name
%>
_path %>
<%%
=
link_to
'
New
<
%= singular_table_name.titleize
%>
', new_
<%=
singular_
rout
e_name
%>
_path %>
railties/lib/rails/generators/named_base.rb
浏览文件 @
cf56397c
...
...
@@ -100,11 +100,11 @@ def uncountable? # :doc:
end
def
index_helper
# :doc:
uncountable?
?
"
#{
plural_
table_name
}
_index"
:
plural_tabl
e_name
uncountable?
?
"
#{
plural_
route_name
}
_index"
:
plural_rout
e_name
end
def
show_helper
# :doc:
"
#{
singular_
tabl
e_name
}
_url(@
#{
singular_table_name
}
)"
"
#{
singular_
rout
e_name
}
_url(@
#{
singular_table_name
}
)"
end
def
edit_helper
# :doc:
...
...
@@ -112,7 +112,7 @@ def edit_helper # :doc:
end
def
new_helper
# :doc:
"new_
#{
singular_
tabl
e_name
}
_url"
"new_
#{
singular_
rout
e_name
}
_url"
end
def
field_id
(
attribute_name
)
...
...
@@ -152,6 +152,35 @@ def application_name # :doc:
end
end
def
redirect_resource_name
# :doc:
model_resource_name
(
prefix:
"@"
)
end
def
model_resource_name
(
prefix:
""
)
# :doc:
resource_name
=
"
#{
prefix
}#{
singular_table_name
}
"
if
controller_class_path
.
empty?
resource_name
else
"[
#{
controller_class_path
.
map
{
|
name
|
":"
+
name
}
.join("
,
")},
#{
resource_name
}
]"
end
end
def
singular_route_name
# :doc:
if
controller_class_path
.
empty?
singular_table_name
else
"
#{
controller_class_path
.
join
(
'_'
)
}
_
#{
singular_table_name
}
"
end
end
def
plural_route_name
# :doc:
if
controller_class_path
.
empty?
plural_table_name
else
"
#{
controller_class_path
.
join
(
'_'
)
}
_
#{
plural_table_name
}
"
end
end
def
assign_names!
(
name
)
@class_path
=
name
.
include?
(
"/"
)
?
name
.
split
(
"/"
)
:
name
.
split
(
"::"
)
@class_path
.
map!
(
&
:underscore
)
...
...
railties/lib/rails/generators/rails/scaffold_controller/templates/controller.rb
浏览文件 @
cf56397c
...
...
@@ -29,7 +29,7 @@ def create
@
<
%= singular_table_name %> =
<
%= orm_class.build(class_name, "#{singular_table_name}_params") %>
if @<%=
orm_instance
.
save
%>
redirect_to
@<%= singular_tabl
e_name %>
,
notice:
<
%= "'#{human_name} was successfully created.'" %>
redirect_to
<%= redirect_resourc
e_name %>
,
notice:
<
%= "'#{human_name} was successfully created.'" %>
else
render :new
end
...
...
@@ -38,7 +38,7 @@ def create
# PATCH/PUT <%=
route_url
%>/1
def update
if @<%= orm_instance.update("#{singular_table_name}_params") %>
redirect_to
@
<
%= singular_tabl
e_name %>, notice: <%=
"'
#{
human_name
}
was successfully updated.'"
%>
redirect_to
<
%= redirect_resourc
e_name %>, notice: <%=
"'
#{
human_name
}
was successfully updated.'"
%>
else
render
:edit
end
...
...
railties/test/generators/named_base_test.rb
浏览文件 @
cf56397c
...
...
@@ -131,6 +131,19 @@ def test_scaffold_plural_names_with_model_name_option
assert_name
g
,
"admin/foos"
,
:controller_file_path
assert_name
g
,
"foos"
,
:controller_file_name
assert_name
g
,
"admin.foos"
,
:controller_i18n_scope
assert_name
g
,
"admin_user"
,
:singular_route_name
assert_name
g
,
"admin_users"
,
:plural_route_name
assert_name
g
,
"[:admin, @user]"
,
:redirect_resource_name
assert_name
g
,
"[:admin, user]"
,
:model_resource_name
assert_name
g
,
"admin_users"
,
:index_helper
end
def
test_scaffold_plural_names
g
=
generator
[
"User"
]
assert_name
g
,
"@user"
,
:redirect_resource_name
assert_name
g
,
"user"
,
:model_resource_name
assert_name
g
,
"user"
,
:singular_route_name
assert_name
g
,
"users"
,
:plural_route_name
end
private
...
...
railties/test/generators/scaffold_controller_generator_test.rb
浏览文件 @
cf56397c
...
...
@@ -174,6 +174,29 @@ def test_model_name_option
assert_instance_method
:index
,
content
do
|
m
|
assert_match
(
"@users = User.all"
,
m
)
end
assert_instance_method
:create
,
content
do
|
m
|
assert_match
(
"redirect_to [:admin, @user]"
,
m
)
end
assert_instance_method
:update
,
content
do
|
m
|
assert_match
(
"redirect_to [:admin, @user]"
,
m
)
end
end
assert_file
"app/views/admin/users/index.html.erb"
do
|
content
|
assert_match
(
"'Show', [:admin, user]"
,
content
)
assert_match
(
"'Edit', edit_admin_user_path(user)"
,
content
)
assert_match
(
"'Destroy', [:admin, user]"
,
content
)
assert_match
(
"'New User', new_admin_user_path"
,
content
)
end
assert_file
"app/views/admin/users/new.html.erb"
do
|
content
|
assert_match
(
"'Back', admin_users_path"
,
content
)
end
assert_file
"app/views/admin/users/_form.html.erb"
do
|
content
|
assert_match
(
"model: [:admin, user]"
,
content
)
end
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录