很抱歉一个简单的问题,但我有点困惑,试图按照ruby on rails教程书
我在第10章并且感到困惑,是的,我为了学习目的而嘲笑我的版本 所以我有一个名为customer的控制器 customers_controller.rb
def show
@customer = Customer.find(params[:id])
@posts = @customer.posts
end
然后我有以下文件夹 _post.html.erb
Welcome to a post
他从show客户档案中调出的内容已经跟随 /view/customer/show.html.erb
<% provide(:title, @customer.name) %>
<aside class="customer_show_nav">
<h1><%= @customer.name %></h1>
<%= @customer.email %>
</aside>
<div class="events">
<%= render @posts %>
</div>
但是什么时候装什么都不出现,甚至没有欢迎光临帖子。我做错了什么? 提前致谢。我正在按照教程http://ruby.railstutorial.org/chapters/user-microposts#top 10.22
进行操作答案 0 :(得分:0)
如果_post.html.erb
位于view/customers
您在view/customers/show.html.erb
<%= render 'controller_where_post_lives/post' %>
将查找customers/_post.html.erb
有时,您还需要=
中的<%= %>
和rails 3
此外,show用于显示一个项目,index用于显示所有项目。
所以要渲染你会做
<%= render :partial => "post", :collection => @posts %>
修改强>
当您调用渲染时,您可以为其提供视图,此处没有对象。除非像上面那样传递集合。
http://guides.rubyonrails.org/layouts_and_rendering.html
此外,如果您只想渲染文字,可以执行render :text => "OK"
答案 1 :(得分:0)
寻找partials解释。