2012-05-04 16 views
0

私のRailsアプリケーションに問題があります。NilClassの未定義メソッド `model_name ':データベースにレコードを作成しようとしたときのクラス

私はそれはエラーがライン#2で私のショーのビューである私に言っていますこのエラー=>undefined method model_name for NilClass:Class

を取得し、私のclientsテーブルイムに新しいclientを作成してみてください。 HERESに私のショービュー

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> 

はここに私のコントローラだ=>

クラスClientsController < 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

モデル作成後に 'rake db:migrate'を実行しましたか? –

+0

はい作成したときに移行が完了しました。 – Keva161

答えて

1

@clients(末尾にs)という値を設定し、表示にアクセスするのは@client変数(sなし)だけです。これを修正してください。

+0

dohだから私は助けてくれてありがとう! – Keva161

関連する問題