新手问题 Render 模板时传值

wwwicbd · 2016年03月03日 · 最后由 small_fish__ 回复于 2016年03月04日 · 1902 次阅读

模板主体

app/views/articles/show.html.erb

<p>
  <strong>标题:</strong>
  <%= @article.title %>
</p>
<p>
  <strong>内容:</strong>
  <%= @article.text %>
</p>
<br>

<h2>评论</h2>
<%= render @article.comments %>
<br>

插入的片段

app/views/comments/_comment.html.erb

<p>
  <!--想在这里显示留言序号:1,2,3.. 不是comments的:id-->
  <strong>留言<%= ???  %>:</strong>
  <%= comment.commenter %>
</p>

<p>
  <strong>留言内容:</strong>
  <%= comment.body %>
</p>

疑问:

  1. 如上,想实现『留言 1』『留言 2』的效果,<%= ??? %>里要填什么?
  2. 多个模板片段拼接时,对象如何传递和处理?

comment_counter + 1 或者 google“rails render collection index" 第一个结果 第二个问题看文档或者 guide

ruby-china 是用 js 写入楼层的。

问题 1:除了 rails 的方法,也可以使用 css_counters 问题 2:render :partial => 'asdf', locals: {}

#3 楼 @small_fish__ 已不建议: render :partial => 'partial_name', locals: {some_var: xxx} 推荐改用: render 'partial_name', some_var: xxx

需要 登录 后方可回复, 如果你还没有账号请 注册新账号