Rails, Mongoid, query: Not returns documents
我有一个问题,我一直试图在haml中显示视图,但是这样抛出我:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 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"生成了该控制器):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | 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 |
这是我的模特:
1 2 3 4 5 6 7 8 | class Tipocontenido include Mongoid::Document store_in collection:"ctipocontenido" field :nombretipo, type: String belongs_to :aparienciacontenido embeds_many :seccion end |
我在与谁合作:
我不理解该错误,因为我在MongoDB数据库中的此集合" ctipocontenido"中创建了一个文档:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | > 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" } ] } ] } |
这是我的ruby文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | 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:请问我的英语!!
非常感谢您! :)
您在寻找错误的地方。错误是您的
显然,
1 | resources :tipocontenidos |
这里有一个调试Rails路由的好工具:http://guides.rubyonrails.org/routing.html#listing-existing-routes
有关路由的更多信息:http://guides.rubyonrails.org/routing.html