rails render partial的问题(collection)
2016-07-11 09:47
561 查看
Ruby代码
<% @paginated_hits.each_with_index do |hit, index| %>
<%= render :partial => "search/search_item",:locals => {:hit => hit,:index =>index} %>
<% end %>
我在渲染partial的时候,是再外层做了循环,官方文档中有一种用法专门用来render collection的
index.html.erb
_product.html.erb
注意: 在_product.html.erb中的product.name指的是 :partial => "product", 而不是collection 指向的@products的单数,也可以通过as指定参数
则在partial页面中可以直接使用itme
<%= itme.name %>
在本地做了一个简单的测试:
在index页面:
Ruby代码
<h1>Listing users</h1>
<% @users.each do |user| %>
<%= render :partial => "your", :locals =>{:your => user} %>
<% end %>
<br />
<%= link_to 'New User', new_user_path %>
_your.html.erb文件中只是简单的输出用户的名字:
<%= your.name %>
Ruby代码
Started GET "/users" for 127.0.0.1 at 2014-03-07 00:20:24 +0800
Processing by UsersController#index as HTML
[1m[36mUser Load (0.0ms)[0m [1mSELECT "users".* FROM "users" [0m
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/index.html.erb within layouts/application (46.9ms)
Completed 200 OK in 62ms (Views: 62.5ms | ActiveRecord: 0.0ms)
页面渲染用了62.5ms
如果在index页面这样写:
Ruby代码
<h1>Listing users</h1>
<%= render :partial => "my", :collection => @users %>
<br />
<%= link_to 'New User', new_user_path %>
_my.html.erb文件中:
<% my.name %>
页面渲染只用了15.6ms
速度竟然差了4倍!
<% @paginated_hits.each_with_index do |hit, index| %>
<%= render :partial => "search/search_item",:locals => {:hit => hit,:index =>index} %>
<% end %>
我在渲染partial的时候,是再外层做了循环,官方文档中有一种用法专门用来render collection的
index.html.erb
<%=
render
:partial
=>
"product"
,
:collection
=>
@products
,
:as
=>
:item
%>
则在partial页面中可以直接使用itme
<%= itme.name %>
在本地做了一个简单的测试:
在index页面:
Ruby代码
<h1>Listing users</h1>
<% @users.each do |user| %>
<%= render :partial => "your", :locals =>{:your => user} %>
<% end %>
<br />
<%= link_to 'New User', new_user_path %>
_your.html.erb文件中只是简单的输出用户的名字:
<%= your.name %>
Ruby代码
Started GET "/users" for 127.0.0.1 at 2014-03-07 00:20:24 +0800
Processing by UsersController#index as HTML
[1m[36mUser Load (0.0ms)[0m [1mSELECT "users".* FROM "users" [0m
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/_your.html.erb (0.0ms)
Rendered users/index.html.erb within layouts/application (46.9ms)
Completed 200 OK in 62ms (Views: 62.5ms | ActiveRecord: 0.0ms)
页面渲染用了62.5ms
如果在index页面这样写:
Ruby代码
<h1>Listing users</h1>
<%= render :partial => "my", :collection => @users %>
<br />
<%= link_to 'New User', new_user_path %>
_my.html.erb文件中:
<% my.name %>
页面渲染只用了15.6ms
速度竟然差了4倍!
相关文章推荐
- Codeforces 690C2 Brain Network (medium) (树的直径)
- HDU 4251 The Famous ICPC Team Again 划分树 区间第K大
- http://blog.csdn.net/liuzhenwen/article/details/4155447
- jenkins集成ansible注意事项Failed to connect to the host via ssh.
- POJ 1273 Drainage Ditches(最大流模板)
- AIDL介绍和实例讲解
- AIDL介绍和实例讲解
- 模糊图片秒转高清图
- Helvetic Coding Contest 2016 C2. Brain Network (medium)
- 关于int main( int argc, char* argv[] ) 中arg和argv参数的解析及调试
- 关于LogStash运行在AIX 64位机器上的问题与临时解决方案
- 《leetCode》:Contains Duplicate III
- LIBSVM学习(七)--参数解释
- 关于akka的mailbox的size问题
- Rails的事务和锁
- Hdu 5319 Painter (模拟)
- Codeforces Round #271 (Div. 2) F. Ant colony(线段树)
- 1106. Lowest Price in Supply Chain (25)
- Exchange 2010 PS 之Set-CASMailbox!
- Repair the Wall(贪心 区间覆盖)