0

Rails アプリで問題が発生しました。

テーブルに新しいものを作成しようとすると、clientこのエラーが発生します =>clientsundefined 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>

これが私のコントローラーです=>

クラス 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 をインストールしましたが、それが大きな影響を与えるとは思いません。

4

1 に答える 1

1

コントローラーで@clients(最後に withで) の値を設定し、ビューで変数sのみにアクセスします。つまり、 . これを修正します。@clients

于 2012-05-04T18:46:09.937 に答える