我的Rails应用程序出了问题。
当我尝试在client
表格中创建新的clients
时,我会收到此错误=> undefined method model_name for NilClass:Class
它告诉我错误出现在第2行的展示视图中。
1: <%- model_class = @client.class -%>
2: <h1><%=t '.title', :default => model_class.model_name.human %></h1>
3:
4: <p>
5: <strong><%= model_class.human_attribute_name(:name) %>:</strong><br>
继承我的节目观点..
<%- model_class = @client.class -%>
<h1><%=t '.title', :default => model_class.model_name.human %></h1>
<p>
<strong><%= model_class.human_attribute_name(:name) %>:</strong><br>
<%= @client.name %>
</p>
<p>
<strong><%= model_class.human_attribute_name(:detail) %>:</strong><br>
<%= @client.detail %>
</p>
<p>
<strong><%= model_class.human_attribute_name(:more_detail) %>:</strong><br>
<%= @client.more_detail %>
</p>
<p>
<strong><%= model_class.human_attribute_name(:more_details) %>:</strong><br>
<%= @client.more_details %>
</p>
<div class="form-actions">
<%= link_to t('.back', :default => t("helpers.links.back")),
clients_path, :class => 'btn' %>
<%= link_to t('.edit', :default => t("helpers.links.edit")),
edit_client_path(@client), :class => 'btn' %>
<%= link_to t('.destroy', :default => t("helpers.links.destroy")),
client_path(@client),
:method => 'delete',
:confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')),
:class => 'btn btn-danger' %>
</div>
这是我的控制器=&gt;
class ClientsController&lt; ApplicationController中
respond_to :html def index @clients = Client.all respond_with (@clients) end def new @clients = Client.new respond_with (@clients) end def create @clients = Client.new(params[:name]) if @clients.save flash[:notice] = "Client successfully created" end respond_with(@clients) end def destroy @clients = Client.find(params[:id]) @clients.destroy flash[:notice] = "Client has been removed." respond_with(@clients) end end
我看不出问题出在哪里了?
我最近安装了rails-twitter-bootstrap gem,但不认为这会影响它。
答案 0 :(得分:1)
您在控制器中设置@clients
的值(最后带有s
)并在视图中访问@client
变量,即没有{{1 }}。解决这个问题。