我正在编写一个包含帖子和评论的网络应用程序。由于有很多地方我需要显示一堆带有他们的评论的帖子,我正在考虑重用代码。但是我不确定使用_posts.html.erb
显示每个帖子的部分是否正确@posts
,或者直接通过帖子控制器中的显示操作实现它,并在必要时在其他视图中呈现此操作。有人有什么想法吗?
问问题
100 次
2 回答
1
对于这个用例,部分是你最好的选择。
正如你所说,有很多地方我需要展示一堆带有评论的帖子。Rails 的一个主要前提是不要重复自己。@posts
在您的各种控制器操作中检索然后在您的视图中使用部分呈现这些帖子/评论要整洁得多(并且在编程上合理) 。否则,您将show
在其他视图中渲染动作——视图并不是真的要渲染动作,而是相反。
于 2013-06-02T05:12:40.413 回答
0
是的,根据DRY原则,您正在以一种完美的方式思考,您应该创建一个局部。
一个好的做法是不要使用@posts
,您应该以本地人的身份传递帖子,例如:
<%= render 'posts', posts: @posts %>
通过这种方式,您可以在任何地方使用这个部分,只提供作为本地人的帖子,而不依赖于@posts
实例变量。
于 2013-06-02T05:52:11.113 回答