2016-03-04 12 views
2

Я получаю ошибку wrong number of arguments (given 2, expected 0..1) при попытке отследить модель ее взглядов.неправильное количество аргументов с импрессионистом и friendly_id

Моя модель:

class Codetip < ApplicationRecord 
    belongs_to :user 
    is_impressionable 

    validates :title, presence: true, length: { minimum: 4 } 
    validates :body, presence: true, length: { minimum: 4 } 
    validates :user_id, presence: true 

    extend FriendlyId 
    friendly_id :name, use: :slugged 
end 

Codetip контроллер:

Как https://github.com/charlotte-ruby/impressionist предложено в разделе 4 при использовании.

def show 
    @codetip = Codetip.friendly.find(params[:id]) 
    impressionist(@codetip) 
end 

Мое шоу вид:

<%= @codetip.impressionist_count %>

Рядом с этими Айвами сделали все, что вики предложили: добавлена ​​драгоценный камень, в комплекте, создавшую таблицу впечатлений и мигрировала его.

Update 1

StackTrace

activerecord (5.0.0.beta3) lib/active_record/associations/collection_proxy.rb:731:in `count' 
impressionist (1.5.1) app/models/impressionist/impressionable.rb:47:in `impressionist_count' 
app/views/codetips/show.html.erb:2:in `_app_views_codetips_show_html_erb__4508833467180784211_70228361271700' 
actionview (5.0.0.beta3) lib/action_view/template.rb:158:in `block in render' 
activesupport (5.0.0.beta3) lib/active_support/notifications.rb:166:in `instrument' 
actionview (5.0.0.beta3) lib/action_view/template.rb:348:in `instrument' 
actionview (5.0.0.beta3) lib/action_view/template.rb:156:in `render' 
actionview (5.0.0.beta3) lib/action_view/renderer/template_renderer.rb:54:in `block (2 levels) in render_template' 
actionview (5.0.0.beta3) lib/action_view/renderer/abstract_renderer.rb:42:in `block in instrument' 
activesupport (5.0.0.beta3) lib/active_support/notifications.rb:164:in `block in instrument' 
activesupport (5.0.0.beta3) lib/active_support/notifications/instrumenter.rb:21:in `instrument' 
activesupport (5.0.0.beta3) lib/active_support/notifications.rb:164:in `instrument' 
actionview (5.0.0.beta3) lib/action_view/renderer/abstract_renderer.rb:41:in `instrument' 
actionview (5.0.0.beta3) lib/action_view/renderer/template_renderer.rb:53:in `block in render_template' 
actionview (5.0.0.beta3) lib/action_view/renderer/template_renderer.rb:61:in `render_with_layout' 
actionview (5.0.0.beta3) lib/action_view/renderer/template_renderer.rb:52:in `render_template' 
actionview (5.0.0.beta3) lib/action_view/renderer/template_renderer.rb:14:in `render' 
actionview (5.0.0.beta3) lib/action_view/renderer/renderer.rb:42:in `render_template' 
actionview (5.0.0.beta3) lib/action_view/renderer/renderer.rb:23:in `render' 
actionview (5.0.0.beta3) lib/action_view/rendering.rb:103:in `_render_template' 
actionpack (5.0.0.beta3) lib/action_controller/metal/streaming.rb:217:in `_render_template' 
actionview (5.0.0.beta3) lib/action_view/rendering.rb:83:in `render_to_body' 
actionpack (5.0.0.beta3) lib/action_controller/metal/rendering.rb:52:in `render_to_body' 
actionpack (5.0.0.beta3) lib/action_controller/metal/renderers.rb:144:in `render_to_body' 
actionpack (5.0.0.beta3) lib/abstract_controller/rendering.rb:25:in `render' 
actionpack (5.0.0.beta3) lib/action_controller/metal/rendering.rb:36:in `render' 
actionpack (5.0.0.beta3) lib/action_controller/metal/instrumentation.rb:43:in `block (2 levels) in render' 
activesupport (5.0.0.beta3) lib/active_support/core_ext/benchmark.rb:12:in `block in ms' 
/Users/Etore/.rbenv/versions/2.3.0/lib/ruby/2.3.0/benchmark.rb:308:in `realtime' 
activesupport (5.0.0.beta3) lib/active_support/core_ext/benchmark.rb:12:in `ms' 
actionpack (5.0.0.beta3) lib/action_controller/metal/instrumentation.rb:43:in `block in render' 
actionpack (5.0.0.beta3) lib/action_controller/metal/instrumentation.rb:86:in `cleanup_view_runtime' 
activerecord (5.0.0.beta3) lib/active_record/railties/controller_runtime.rb:25:in `cleanup_view_runtime' 
actionpack (5.0.0.beta3) lib/action_controller/metal/instrumentation.rb:42:in `render' 
actionpack (5.0.0.beta3) lib/action_controller/metal/implicit_render.rb:19:in `default_render' 
actionpack (5.0.0.beta3) lib/action_controller/metal/basic_implicit_render.rb:4:in `block in send_action' 
actionpack (5.0.0.beta3) lib/action_controller/metal/basic_implicit_render.rb:4:in `tap' 
actionpack (5.0.0.beta3) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action' 
actionpack (5.0.0.beta3) lib/abstract_controller/base.rb:183:in `process_action' 
actionpack (5.0.0.beta3) lib/action_controller/metal/rendering.rb:30:in `process_action' 
actionpack (5.0.0.beta3) lib/abstract_controller/callbacks.rb:20:in `block in process_action' 
activesupport (5.0.0.beta3) lib/active_support/callbacks.rb:126:in `call' 
activesupport (5.0.0.beta3) lib/active_support/callbacks.rb:506:in `block (2 levels) in compile' 
activesupport (5.0.0.beta3) lib/active_support/callbacks.rb:455:in `call' 
activesupport (5.0.0.beta3) lib/active_support/callbacks.rb:101:in `__run_callbacks__' 
activesupport (5.0.0.beta3) lib/active_support/callbacks.rb:750:in `_run_process_action_callbacks' 
activesupport (5.0.0.beta3) lib/active_support/callbacks.rb:90:in `run_callbacks' 
actionpack (5.0.0.beta3) lib/abstract_controller/callbacks.rb:19:in `process_action' 
actionpack (5.0.0.beta3) lib/action_controller/metal/rescue.rb:27:in `process_action' 
actionpack (5.0.0.beta3) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action' 
activesupport (5.0.0.beta3) lib/active_support/notifications.rb:164:in `block in instrument' 
activesupport (5.0.0.beta3) lib/active_support/notifications/instrumenter.rb:21:in `instrument' 
activesupport (5.0.0.beta3) lib/active_support/notifications.rb:164:in `instrument' 
actionpack (5.0.0.beta3) lib/action_controller/metal/instrumentation.rb:29:in `process_action' 
actionpack (5.0.0.beta3) lib/action_controller/metal/params_wrapper.rb:248:in `process_action' 
activerecord (5.0.0.beta3) lib/active_record/railties/controller_runtime.rb:18:in `process_action' 
actionpack (5.0.0.beta3) lib/abstract_controller/base.rb:128:in `process' 
actionview (5.0.0.beta3) lib/action_view/rendering.rb:30:in `process' 
actionpack (5.0.0.beta3) lib/action_controller/metal.rb:190:in `dispatch' 
actionpack (5.0.0.beta3) lib/action_controller/metal.rb:262:in `dispatch' 
actionpack (5.0.0.beta3) lib/action_dispatch/routing/route_set.rb:50:in `dispatch' 
actionpack (5.0.0.beta3) lib/action_dispatch/routing/route_set.rb:32:in `serve' 
actionpack (5.0.0.beta3) lib/action_dispatch/journey/router.rb:39:in `block in serve' 
actionpack (5.0.0.beta3) lib/action_dispatch/journey/router.rb:26:in `each' 
actionpack (5.0.0.beta3) lib/action_dispatch/journey/router.rb:26:in `serve' 
actionpack (5.0.0.beta3) lib/action_dispatch/routing/route_set.rb:724:in `call' 
actionview (5.0.0.beta3) lib/action_view/digestor.rb:12:in `call' 
warden (1.2.6) lib/warden/manager.rb:35:in `block in call' 
warden (1.2.6) lib/warden/manager.rb:34:in `catch' 
warden (1.2.6) lib/warden/manager.rb:34:in `call' 
rack (2.0.0.alpha) lib/rack/etag.rb:25:in `call' 
rack (2.0.0.alpha) lib/rack/conditional_get.rb:25:in `call' 
rack (2.0.0.alpha) lib/rack/head.rb:12:in `call' 
rack (2.0.0.alpha) lib/rack/session/abstract/id.rb:220:in `context' 
rack (2.0.0.alpha) lib/rack/session/abstract/id.rb:214:in `call' 
actionpack (5.0.0.beta3) lib/action_dispatch/middleware/cookies.rb:613:in `call' 
activerecord (5.0.0.beta3) lib/active_record/query_cache.rb:36:in `call' 
activerecord (5.0.0.beta3) lib/active_record/connection_adapters/abstract/connection_pool.rb:963:in `call' 
activerecord (5.0.0.beta3) lib/active_record/migration.rb:558:in `call' 
actionpack (5.0.0.beta3) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call' 
activesupport (5.0.0.beta3) lib/active_support/callbacks.rb:97:in `__run_callbacks__' 
activesupport (5.0.0.beta3) lib/active_support/callbacks.rb:750:in `_run_call_callbacks' 
activesupport (5.0.0.beta3) lib/active_support/callbacks.rb:90:in `run_callbacks' 
actionpack (5.0.0.beta3) lib/action_dispatch/middleware/callbacks.rb:27:in `call' 
actionpack (5.0.0.beta3) lib/action_dispatch/middleware/reloader.rb:71:in `call' 
actionpack (5.0.0.beta3) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' 
actionpack (5.0.0.beta3) lib/action_dispatch/middleware/debug_exceptions.rb:49:in `call' 
web-console (3.1.1) lib/web_console/middleware.rb:131:in `call_app' 
web-console (3.1.1) lib/web_console/middleware.rb:28:in `block in call' 
web-console (3.1.1) lib/web_console/middleware.rb:18:in `catch' 
web-console (3.1.1) lib/web_console/middleware.rb:18:in `call' 
actionpack (5.0.0.beta3) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' 
railties (5.0.0.beta3) lib/rails/rack/logger.rb:36:in `call_app' 
railties (5.0.0.beta3) lib/rails/rack/logger.rb:24:in `block in call' 
activesupport (5.0.0.beta3) lib/active_support/tagged_logging.rb:70:in `block in tagged' 
activesupport (5.0.0.beta3) lib/active_support/tagged_logging.rb:26:in `tagged' 
activesupport (5.0.0.beta3) lib/active_support/tagged_logging.rb:70:in `tagged' 
railties (5.0.0.beta3) lib/rails/rack/logger.rb:24:in `call' 
actionpack (5.0.0.beta3) lib/action_dispatch/middleware/request_id.rb:24:in `call' 
rack (2.0.0.alpha) lib/rack/method_override.rb:22:in `call' 
rack (2.0.0.alpha) lib/rack/runtime.rb:22:in `call' 
activesupport (5.0.0.beta3) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' 
actionpack (5.0.0.beta3) lib/action_dispatch/middleware/load_interlock.rb:13:in `call' 
actionpack (5.0.0.beta3) lib/action_dispatch/middleware/static.rb:136:in `call' 
rack (2.0.0.alpha) lib/rack/sendfile.rb:111:in `call' 
railties (5.0.0.beta3) lib/rails/engine.rb:522:in `call' 
puma (3.0.2) lib/puma/configuration.rb:221:in `call' 
puma (3.0.2) lib/puma/server.rb:561:in `handle_request' 
puma (3.0.2) lib/puma/server.rb:406:in `process_client' 
puma (3.0.2) lib/puma/server.rb:271:in `block in run' 
puma (3.0.2) lib/puma/thread_pool.rb:111:in `block in spawn_thread' 
+0

есть вы добавили 'импрессионистов: действия => [: шоу]' в контроллере. –

+2

Всегда, всегда включайте stacktrace при получении исключения. – BroiSatse

+0

@Pardeep Dhingra Нет, потому что я использую friendly_id, и wiki заявляет, что вы не должны использовать 'imistist: actions => [: show]', но импрессионист (@ ..) в действии show непосредственно. Alltho ive проверил код, который вы предложили, но результат был таким же. –

ответ

1

Ive понял, что проблема была.

На моей странице с изображениями должно было быть <%= @codetip.impressions.count %> вместо <%= @codetip.impressionist_count %>. Эта тема может быть отмечена как разрешенная.