Reputation: 26061
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
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
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