Antarr Byrd
Antarr Byrd

Reputation: 26061

Unable to use paperclip with rails 3.1

I'm trying to use paperclip with rails 3.1 but I keep getting this routing error.

No route matches {:action=>"show", :controller=>"users"}

I followed the instructions at thoughtbot/paperclip on github.

<%= form_for :user, @user, :url => user_path, :html => { :multipart => true } do |f| %>
  <% if @user.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</h2>

      <ul>
      <% @user.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= f.label :FirstName %><br />
    <%= f.text_field :FirstName %>
  </div>
  <div>
    <%= f.label :avatar%>
    <%= f.file_field :avatar %> 
  </div>
  <div class="field">
    <%= f.label :LastName %><br />
    <%= f.text_field :LastName %>
  </div>
  <div class="field">
    <%= f.label :Email %><br />
    <%= f.text_field :Email %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

User.rb

class User < ActiveRecord::Base
  has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
end

routes.rb

City::Application.routes.draw do
  resources :users
end

show.html.erb

<p id="notice">
    <%= notice %>
</p>
<p>
    <b>Firstname:</b>
    <%= @user.FirstName %>
</p>
<p>
    <b>Lastname:</b>
    <%= @user.LastName %>
</p>
<p>
    <b>Email:</b>
    <%= @user.Email %>
</p>
<p>
    <b>Avatar</b>
    <%= image_tag @user.avatar.url %>
    <%= image_tag @user.avatar.url(:medium) %>
    <%= image_tag @user.avatar.url(:thumb) %>
</p>
<%= link_to 'Edit', edit_user_path(@user) %> |
<%= link_to 'Back', users_path %> 

!UPDATE!

$ rake routes events GET /events(.:format) {:action=>"index", :controller=>"events"} POST /events(.:format) {:action=>"create", :controller=>"events"} new_event GET
/events/new(.:format) {:action=>"new", :controller=>"events"} edit_event GET /events/:id/edit(.:format)
{:action=>"edit", :controller=>"events"} event GET /events/:id(.:format) {:action=>"show", :controller=>"events"} PUT /events/:id(.:format) {:action=>"update", :controller=>"events"} DELETE /events/:id(.:format) {:action=>"destroy", :controller=>"events"} root / {:controller=>"events", :action=>"index"} /:controller(/:action(/:id(.:format)))

Upvotes: 0

Views: 213

Answers (2)

HectorMalot
HectorMalot

Reputation: 1120

I believe you should use users_path (plural) and, the user routes are not in your rake output, can you check your routes file?

Upvotes: 2

Uchenna
Uchenna

Reputation: 4089

The error you are having is not from paperclip cos paperclip has nothing to do with that error message you are having. check your routes very well and also try to restart you sever.

Upvotes: 1

Related Questions