Привет, я начинаю рубить на рельсах, и я делаю приложение, в котором мы можем загрузить, а затем отобразить изображение пользователя, но изображение не загружается и не отображается. Вот мой код:Изображение не отображается с помощью Paperclip in Rails
Моя страница загрузки код:
<%= form_for @userinfo , :html => { :multipart => true } do |f| %>
<%= f.label :name %>
<%= f.text_field :name, class: 'form-control' %>
<%= f.file_field :photo , class: 'form-control' %>
<%= f.submit "Save Details", class: "btn btn-primary" %>
<% end %>
Моя показать кодовая страница:
<%= image_tag @userinfo.photo.url %>
<p>
<strong>Name:</strong>
<%= @userinfo.name %>
</p>
Моя модель код:
class Userinfo < ActiveRecord::Base
has_attached_file :photo
validates_attachment_presence :photo
validates_attachment_size :photo, :less_than => 5.megabytes
validates_attachment_content_type :photo, :content_type => ["image/jpg", "image/jpeg", "image/png", "image/gif"]
end
Мой контроллер код:
class UserinfoController < ApplicationController
def new
@userinfo= Userinfo.new
end
def create
@userinfo = Userinfo.new(user_params)
if @userinfo.save
flash[:success] = "User created Successfully!!"
redirect_to userinfo_path
else
render 'new'
end
end
def show
@userinfo = Userinfo.find(params[:id])
end
private
def user_params
params.require(:userinfo).permit(:name, :father_name, :mother_name, :contact_number, :photo)
end
end
Ошибка, полученная из файла журнала: «ActionController :: RoutingError (Нет маршрутов совпадает с [GET]» /photos/original/missing.png »), а на странице просмотра вместо него отображается« отсутствует » отображения изображения. Я начинаю это, так что скажите мне, что я делаю неправильно. Спасибо.
Какая страница erroring? Если это страница показа, то можете ли вы также указать код действия шоу с контроллера? –
нам нужно передать атрибуты 'has_attached_file' в' params.require (: userinfo) .permit' – Sontya
Вы не указали: url и: путь в модели? – dima