1

我使用 twitter 引导程序进行设计。我想为特定操作使用不同的模板

def view
  render :layout => 'single'
  @movie = Movie.find(params[:id])
   respond_to do |format|
  format.html # show.html.erb
  format.json { render json: @movie }
 end
end

一旦我将渲染布局添加到操作中,我就会收到此错误消息

undefined method `model_name' for NilClass:Class

 Extracted source (around line #2):

 1: <%- model_class = @movie.class -%>
 2: <h1><%=t '.title', :default => model_class.model_name.human %></h1>
 3: 
 4: <p>
 5:   <strong><%= model_class.human_attribute_name(:title) %>:</strong><br>

如果我把渲染拿走,页面就会加载得很好。

4

2 回答 2

2

你渲染得太早了。尝试这个:

 format.html { render :layout => 'single' }

或者对于更可扩展的方法,请参阅此问题和答案

于 2012-04-15T21:22:49.663 回答
0

不要render在方法的开头调用view。最后叫它。

upd: 哦..在您的情况下,您应该调用它format.html { render ... }。对不起。

于 2012-04-15T21:22:13.540 回答