99_complex_partial
当前情况:show.rhtml和index.rhtml都会用到_article.rhtml模板.模板中有些在index是要显示而在show中
是不用显示的.在_article.rhtml中用current_page?函数来区分.这使_article中掺杂了逻辑代码.
![](http://www.evernote.com/shard/s6/res/a1ac62d6-cddb-4af9-9ab1-88ffabc8d54a/277-412662a6a623a67f.png)
解决方法:
1.在show和index中分别写这些标签,不要局部模板
2.加入css文件,对各种不要的元素用display:none来使标签隐藏
3.在不同的区域用<%=
yield%>,然后index和show分别调用render+block,如下图
![](http://www.evernote.com/shard/s6/res/004299db-8408-4e2e-ad45-3a9d6ed0bf2f/277-412662a6a887042c.png)
然后在index和show中用render :layout => 'article', :object => @article+各自的标签
![](http://www.evernote.com/shard/s6/res/b676a69b-2c0d-43da-b793-7918e00cf288/277-412662a6a8f2b9d6.png)