0

我有一个问题,我一直在尝试在 haml 中显示一个视图,但是向我抛出了这个:

Started GET "/tipocontenidos/index" for 127.0.0.1 at 2013-07-23 17:22:36 -0500
Processing by TipocontenidosController#index as HTML
  MOPED: 127.0.0.1:27017 COMMAND      database=admin command={:ismaster=>1} (30.4270ms)
  MOPED: 127.0.0.1:27017 QUERY        database=cms_monrails_development_crud_bd collection=ctipocontenido selector={} flags=[:slave_ok] limit=0 skip=0 batch_size=nil fields=nil (82.3016ms)
  Rendered tipocontenidos/index.html.haml within layouts/application (126.7ms)
Completed 500 Internal Server Error in 187ms

ActionView::Template::Error (undefined method `tipocontenido_path' for #<#<Class:0x000000026ee6f8>:0x000000027c4528>):
    8: 
    9:   - @tipocontenidos.each do |tipocontenido|
    10:     %tr
    11:       %td= link_to 'Show', tipocontenido
    12:       %td= link_to 'Edit', edit_tipocontenido_path(tipocontenido)
    13:       %td= link_to 'Destroy', tipocontenido, :method => :delete, :data => { :confirm => 'Are you sure?' }
    14: 
  app/views/tipocontenidos/index.html.haml:11:in `block in _app_views_tipocontenidos_index_html_haml__2795259947167794129_19628380'
  app/views/tipocontenidos/index.html.haml:9:in `_app_views_tipocontenidos_index_html_haml__2795259947167794129_19628380'
  app/controllers/tipocontenidos_controller.rb:7:in `index'


  Rendered /home/stivenson/.gem/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.1ms)
  Rendered /home/stivenson/.gem/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (0.9ms)
  Rendered /home/stivenson/.gem/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (7.1ms)

这是我的控制器,(我用“scaffold_controller”生成了这个控制器):

class TipocontenidosController < ApplicationController
  # GET /tipocontenidos
  # GET /tipocontenidos.json
  def index
    @tipocontenidos = Tipocontenido.all

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @tipocontenidos }
    end
  end

  # GET /tipocontenidos/1
  # GET /tipocontenidos/1.json
  def show
    @tipocontenido = Tipocontenido.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @tipocontenido }
    end
  end

  # GET /tipocontenidos/new
  # GET /tipocontenidos/new.json
  def new
    @tipocontenido = Tipocontenido.new

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @tipocontenido }
    end
  end

  # GET /tipocontenidos/1/edit
  def edit
    @tipocontenido = Tipocontenido.find(params[:id])
  end

  # POST /tipocontenidos
  # POST /tipocontenidos.json
  def create
    @tipocontenido = Tipocontenido.new(params[:tipocontenido])

    respond_to do |format|
      if @tipocontenido.save
        format.html { redirect_to @tipocontenido, notice: 'Tipocontenido was successfully created.' }
        format.json { render json: @tipocontenido, status: :created, location: @tipocontenido }
      else
        format.html { render action: "new" }
        format.json { render json: @tipocontenido.errors, status: :unprocessable_entity }
      end
    end
  end

  # PUT /tipocontenidos/1
  # PUT /tipocontenidos/1.json
  def update
    @tipocontenido = Tipocontenido.find(params[:id])

    respond_to do |format|
      if @tipocontenido.update_attributes(params[:tipocontenido])
        format.html { redirect_to @tipocontenido, notice: 'Tipocontenido was successfully updated.' }
        format.json { head :no_content }
      else
        format.html { render action: "edit" }
        format.json { render json: @tipocontenido.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /tipocontenidos/1
  # DELETE /tipocontenidos/1.json
  def destroy
    @tipocontenido = Tipocontenido.find(params[:id])
    @tipocontenido.destroy

    respond_to do |format|
      format.html { redirect_to tipocontenidos_url }
      format.json { head :no_content }
    end
  end
end

这是我的模型:

class Tipocontenido
  include Mongoid::Document
  store_in collection: "ctipocontenido"

  field :nombretipo, type: String
  belongs_to :aparienciacontenido
  embeds_many :seccion
end

我正在与:

  1. 红宝石 1.9.3p448
  2. 导轨 3.2.13
  3. 耙版本 10.1.0
  4. MongoDB外壳版本:2.2.3
  5. mongoid 3.1.2

我不明白这个错误,因为我在这个集合“ctipocontenido”的 MongoDB 数据库中创建了一个文档:

> db.ctipocontenido.find().pretty()
{
        "_id" : ObjectId("51edfd3fddbc8d2622000001"),
        "nombretipo" : "Colores Suaves 3 partes",
        "seccion" : [
                {
                        "_id" : ObjectId("51edfd3fddbc8d2622000002"),
                        "nombre" : "Encabezado",
                        "color" : "#e5e5e5",
                        "borde" : "1px solid red",
                        "etiqueta" : [
                                {
                                        "_id" : ObjectId("51edfd3fddbc8d2622000003"),
                                        "texto" : "Título",
                                        "tipoletra" : "Verdana",
                                        "tamanioletra" : "7",
                                        "colorletra" : "#000000"
                                },
                                {
                                        "_id" : ObjectId("51edfd3fddbc8d2622000004"),
                                        "texto" : "Lema",
                                        "tipoletra" : "Verdana",
                                        "tamanioletra" : "6",
                                        "colorletra" : "#000000"
                                }
                        ]
                },
                {
                        "_id" : ObjectId("51edfd3fddbc8d2622000005"),
                        "nombre" : "Panel Izquierdo",
                        "color" : "#e5e5e5",
                        "borde" : "1px solid red",
                        "etiqueta" : [
                                {
                                        "_id" : ObjectId("51edfd3fddbc8d2622000006"),
                                        "texto" : "Título",
                                        "tipoletra" : "Verdana",
                                        "tamanioletra" : "7",
                                        "colorletra" : "#000000"
                                },
                                {
                                        "_id" : ObjectId("51edfd3fddbc8d2622000007"),
                                        "texto" : "Lema",
                                        "tipoletra" : "Verdana",
                                        "tamanioletra" : "6",
                                        "colorletra" : "#000000"
                                }
                        ]
                }
        ]
}

这是我的宝石文件:

source 'https://rubygems.org'

gem 'rails', '3.2.13'
gem 'execjs'
gem 'therubyracer'
gem 'sass'
gem "haml", '3.1.4'
gem 'haml-rails'
gem "mongoid", ">= 3.1.2"
gem 'rake' , '10.1.0'
gem 'rails3-generators'


# rails generate model Book --skip-migration --orm=mongomapper
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'



# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'jquery-ui-rails'
  # gem 'jquery-ui-themes', '0.0.7'
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

PD:对不起,我的英语!!

非常感谢您提前!:)

4

1 回答 1

1

你找错地方了。错误是说您的config/routes.rb文件有问题。Rails 无法找出与show控制器中的方法匹配的 URL。

显然rails generate scaffold_controller没有编辑routes.rb,所以你必须手动完成并添加以下代码:

resources :tipocontenidos

这里有一个很好的工具来调试 Rails 路由:http: //guides.rubyonrails.org/routing.html#listing-existing-routes

有关路由的更多信息:http: //guides.rubyonrails.org/routing.html

于 2013-07-30T01:57:52.493 回答