Я очень новичок в программировании, и я пытаюсь использовать paperclip, чтобы добавить фотографию пользователя в мои пользовательские записи. Записи могут быть созданы из новой формы записи без строки <% = f.file_field: photo%> и перенаправлять правильно и сохраняет запись в базе данных. Однако, когда он включен в save, он хочет перенаправить на create.html.erb вместо пути пользователя и не сохраняет новую запись. Он также не отображает никаких ошибок. Я обновил таблицу users с полями photo_file_name, photo_content_type и: photo_file_size. Кроме того, я запускаю окна, если это любая помощь.New to Rails/paperclip - Paperclip wont save
Модель:
class User < ActiveRecord::Base
has_many :venues
has_many :reviews
has_attached_file :photo,
:styles => {
:medium => "300x300>",
:thumb => "100x100>" }
end
Контроллер:
class UsersController < ApplicationController
def index
@users = User.all
end
def new
@user = User.new
end
def create
@user = User.create(params[:user])
if @user.save
flash[:notice] = 'User added'
redirect_to users_path
else
@user.save
end
end
def show
@user = User.find(params[:id])
end
end
Вид:
<% form_for (@user, :html => { :multipart => true }) do |f| %>
<p>username: <br>
<%= f.text_field :username %></p>
<p>password: <br>
<%= f.text_field :password %></p>
<p>photo: <br>
<%= f.file_field :photo %></p>
<%= submit_tag %>
<% end %>
Любая помощь очень ценится!
Что показано в журнале развития:
Обработка UsersController # создать (для 127.0.0.1 в 2011-01-12 22:05:56) [POST] Параметры: { "пользователь" = > {"photo" => #, "username" => "nghjhg", "password" => "ghjghj"}, "commit" => "Сохранить изменений", "authenticity_token" => "IlacpnqsC/iJ + 41bx8tN4obOWPgirMx810l/WvohN68 = "} [paperclip] ident -format% wx% h " C: /Users/Home/AppData/Local/Temp/stream110112-5292-2yorcw-0.png [0] " 2> NUL [скрепка ] Ошибка была получена при обработке:
С:. /Users/Home/AppData/Local/Temp/stream110112-5292-2yorcw-0.png не распознается команды 'идентифицировать'> [скрепку] определить -format % WX% H "C: /Users/Home/AppData/Local/Temp/stream110112-5292-2yorcw-0.png [0]" 2> NUL [скрепку] ошибка была полученные при обработке:
С: /Users/Home/AppData/Local/Temp/stream110112-5292-2yorcw-0.png не распознается командой «ident» .> Шаблон рендеринга в пределах макеты/приложение Рендеринг пользователей/создать Завершено в 157ms (Вид: 4, DB: 0) | 200 OK [Http: // Localhost/пользователи]
Спасибо за ответ, только что заметил, что я допустил ошибку в моем вопросе. Я перенесла таблицу User с полями avater_file_name, avater_content_type и avatar_file_size, а не с фотографией, извините за это. Теперь он возвращает «User model missing required attr_accessor для« photo_file_name ». Я переделал с «фото» и обратно, чтобы не сохранять. – Dave
Erm, вы изменили имена столбцов таблицы, чтобы использовать 'avatar_ *' вместо 'photo_ *', но вы также обновили свой вопрос, чтобы использовать 'has_attached_file: photo' вместо' has_attached_file: avatar'. Подумайте об этом! Что он? – noodl
Простите, что это была ошибка в моем первоначальном вопросе, я изменил все на photo_ в таблице User, и моя модель, контроллер и вид выглядят как выше. – Dave