Я начинаю работать с плагином paperclip, но у меня не получается получить изображение, которое будет отображаться в процессе разработки.Я добавил следующее в мой файл config / environment / development.rb:
Paperclip.options[:command_path] = "/usr/local/bin/"
Я установил imagemagick и ghostscript через менеджер пакетов homebrew.Затем я добавил гем скрепки в свой гемфайл и запустил установку пакета.Затем я запустил
rails g paperclip carrier_data asset
rake db:migrate
Затем я перешел к своей модели данных носителя и добавил
has_attached_file :asset
После этого я изменил частичную форму, чтобы добавить полученный код, чтобы я мог загружать изображения.Я использую простой гем формы, и это следующий код, который я ввел.
<%= simple_form_for [:carrier_datum, @carrier_datum], :url => carrier_datum_path, :html => { :multipart => true} do |f| %>
<div>
<%= f.input :asset, :as => :file, :label => "Upload File" %>
</div>
Наконец я пошел на страницу показа и добавил следующий код, чтобы я мог просмотреть изображение:
<%= image_tag @carrier_datum.asset.url %>
Когда я пытаюсь создать новую запись базовых данных, я получаю следующее сообщение:
No route matches {:action=>"show", :controller=>"carrier_data"}
Журналы выглядят следующим образом:
ActionView::Template::Error (No route matches {:action=>"show", :controller=>"carrier_data"}):
1: <%= simple_form_for [:carrier_datum, @carrier_datum], :url => carrier_datum_path, :html => { :multipart => true} do |f| %>
2: <% if @carrier_datum.errors.any? %>
3: <div id="error_explanation">
4: <h2><%= pluralize(@carrier_datum.errors.count, "error") %> prohibited this carrier_datum from being saved:</h2>
app/views/carrier_data/_form.html.erb:1:in `_app_views_carrier_data__form_html_erb__2372678434167691626_2513245300'
app/views/carrier_data/new.html.erb:3:in `_app_views_carrier_data_new_html_erb___55769200685419080_2513267980'
app/controllers/carrier_data_controller.rb:30:in `new'
Я использую рельсы 3.1,с postgresql в качестве моей базы данных, если это вообще помогает.
Вот вывод маршрутизации rake
carrier_data GET /carrier_data(.:format) {:action=>"index", :controller=>"carrier_data"}
POST /carrier_data(.:format) {:action=>"create", :controller=>"carrier_data"}
new_carrier_datum GET /carrier_data/new(.:format) {:action=>"new", :controller=>"carrier_data"}
edit_carrier_datum GET /carrier_data/:id/edit(.:format) {:action=>"edit", :controller=>"carrier_data"}
carrier_datum GET /carrier_data/:id(.:format) {:action=>"show", :controller=>"carrier_data"}
PUT /carrier_data/:id(.:format) {:action=>"update", :controller=>"carrier_data"}
DELETE /carrier_data/:id(.:format) {:action=>"destroy", :controller=>"carrier_data"}
pages GET /pages(.:format)
Если я удаляю вызов простой формы и использую частичную запись обычной формы, например, так:1027 *
<%= form_for(@carrier_datum, :html => { :multipart => true}) do |f| %>
<div>
<%= f.label :asset, "Upload File:"%>
<%= f.file_field :asset %>
</div>
Я все еще получаю проблему с разбитым изображением, и мои журналы говорят, что изображение отсутствует.