Я пытаюсь создать нового пользователя и загрузить изображение с помощью скрепки. Он передает логин, адрес электронной почты и пароль в базу данных, но не детали фотографий. Может ли кто-нибудь увидеть, где я ошибаюсь? Я использую рельсы 3,06 и рубин 1.9.2paperclip не сохраняет фотографии в базе данных
Это из show.html.erb
<div id="pic"><%= image_tag @user.photo.url(:main) %></div>
Это из user.rb
class User < ActiveRecord::Base
attr_accessible :photo
has_attached_file :photo, :styles => {:small => "70x70>", :main => "250x250>" },
:url => "public/system/photos/:id/:style/:basename.:extension"
Это форма, используемая при редактировании. html.erb, где он работает и new.html.erb, где он не
<%= form_for @user, :html => {:multipart => true} do |f| %>
<div class="field">
<%= f.label :login %><br />
<%= f.text_field :login %>
</div>
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :password %><br />
<%= f.text_field :password %>
</div>
<p>
<%= f.file_field :photo %>
</p>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Это от users_controller.rb
def create
@user = User.new
@user.login = (params[:user][:login])
@user.email = (params[:user][:email])
@user.password = (params[:user][:password])
@user.photo_file_name = (params[:user][:photo_file_name])
@user.photo_content_type = (params[:user][:photo_content_type])
@user.photo_file_size = (params[:user][:photo_file_size])
И это терминальный вывод
работы POST "/ пользователи" для 127.0.0.1 в 2013-06-08 13:18:58 +0100 обработки на UsersController # создать в HTML Параметры: {"utf8" => "✓", "authenticity_token" => "4Qvx + aPv9fpOQYk7aAv5iupoBA8aPBYelcjQPh4aM2I =", "user" => {"login" => "meme", "email" => "[email protected]", «password» => «[FILTERED]», «photo» => #>}, «commit» => «Create User»} Пользовательская загрузка (1.1ms) SELECT «users». * FROM «пользователи пользователей« WHERE » "." id "= 1 LIMIT 1 Пользовательская нагрузка (0,5 мс) SELECT" users "." id "FROM" users "WHERE (" users "." login "= 'meme') LIMIT 1 Пользователь Load (0.3ms) SELECT «users». «Id» FROM «users» WHERE («users». «Email» = '[email protected]') LIMIT 1 AREL (0,9 мс) INSERT INTO "users" (" логин "," email "," password "," created_at "," updated_at "," photo_file_name "," photo_content_type "," photo_file_size ") VALUES ('meme', '[email protected]', 'meme', ' 2013-06-08 12: 18: 58.686143 ',' 2013-06-08 12: 18: 58.686143 ', NULL, NULL, NULL) [paperclip] Сохранение вложений.
Got it. Мне нужно @ user.photo = (params [: user] [: photo]) – gleb