Извините, новичок. Я новичок в ROR, а не веб-разработчик. У меня есть трудности с пониманием маршрутов с помощью activeadmin. У меня есть таблица postgresql с bytea колонки для хранения изображений JPEG и других текстовых данных.CRUD ActionController :: RoutingError (Нет совпадений в маршруте [GET]
Я после этого учебника http://archive.railsforum.com/viewtopic.php?id=4642.
Вот файл миграции.
class CreateDrstests < ActiveRecord::Migration
def change
create_table "drstests", primary_key: "drstestid", force: true do |t|
t.string "serial", limit: 10
t.datetime "testdate"
t.string "result", limit: 10
t.string "comment", limit: 2000
t.binary "testimage"
end
end
end
Показать все данные в таблице PostGreSQL в виде список без jpeg-изображения. (работает). Отобразить индивидуальный результат теста с помощью jpeg-изображения. (Сломанный)
app/admin/drstest.rb
ActiveAdmin.register Drstest do
index do
column :testtype
column :testdate
column :result
default_actions
end
def code_image
@image_data = Drstest.find(params[:drstestid])
@image = @image_data.testimage
send_data(@image, :type => imge/jpeg,
:filename => @image_data.testdate,
:disposition => 'inline')
end
end
views/drstests/show.html.erb
<p id="notice"><%= notice %></p>
<% for column in Drstest.content_columns %>
<p>
<b><%= column.human_name %>:</b>
<% if column.name == "testimage" %>
<%= image_tag("/admin/code_image/#{@drstest.drstestid }", :alt => "Image") %>
<% else %>
<%=h @drstest.send(column.name) %>
<% end %>
</p>
<% end %>
<%= link_to 'Back', drstests_path %>
Здесь ошибка в develoment_log
Started GET "/drstests/5" for 127.0.0.1 at 2014-09-08 18:11:07 -0400
Processing by DrstestsController#show as HTML
Parameters: {"id"=>"5"}
Drstest Load (0.5ms) SELECT "drstests".* FROM "drstests" WHERE "drstests"."drstestid" = $1 LIMIT 1 [["drstestid", 5]]
Rendered drstests/show.html.erb within layouts/application (1.8ms)
Completed 200 OK in 425ms (Views: 421.4ms | ActiveRecord: 0.5ms)
Started GET "/admin/code_image/5" for 127.0.0.1 at 2014-09-08 18:11:08 -0400
ActionController::RoutingError (No route matches [GET] "/admin/code_image/5"):
actionpack (4.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
actionpack (4.1.4) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.1.4) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.1.4) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.1.4) lib/active_support/tagged_logging.rb:68:in `block in tagged'
activesupport (4.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.1.4) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.1.4) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.1.4) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
rack (1.5.2) lib/rack/runtime.rb:17:in `call'
activesupport (4.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
actionpack (4.1.4) lib/action_dispatch/middleware/static.rb:64:in `call'
rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
railties (4.1.4) lib/rails/engine.rb:514:in `call'
railties (4.1.4) lib/rails/application.rb:144:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
rack (1.5.2) lib/rack/content_length.rb:14:in `call'
rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
/usr/share/ruby/webrick/httpserver.rb:138:in `service'
/usr/share/ruby/webrick/httpserver.rb:94:in `run'
/usr/share/ruby/webrick/server.rb:295:in `block in start_thread'
Rendered /usr/local/share/gems/gems/actionpack-4.1.4/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.8ms)
Rendered /usr/local/share/gems/gems/actionpack-4.1.4/lib/action_dispatch/middleware/templates/routes/_route.html.erb (4.6ms)
Rendered /usr/local/share/gems/gems/actionpack-4.1.4/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.9ms)
Rendered /usr/local/share/gems/gems/actionpack-4.1.4/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (49.8ms)
мне нужно вставить собственный маршрут в routes.rb Do? Довольно уверен, что запрос работает. Просто не понимаю, почему я не могу отобразить изображение. Не уверен, как отлаживать проблему. Любые подсказки были бы очень полезными. Спасибо за чтение этого.
С уважением
добавить свой файл маршрутов к вопросу –