0
我几乎在那里,我试图找出其余的simple_private_messages插件。任何人都知道我能如何解决这个问题?当试图查看“已发送”消息时,没有路由匹配{:action =>“show”,:controller =>“users”}
这里是我的耙路输出
delete_selected_user_messages POST /users/:user_id/messages/delete_select
ed(.:format) messages#delete_selected
user_messages GET /users/:user_id/messages(.:format)
messages#index
POST /users/:user_id/messages(.:format)
messages#create
new_user_message GET /users/:user_id/messages/new(.:format)
messages#new
edit_user_message GET /users/:user_id/messages/:id/edit(.:fo
rmat) messages#edit
user_message GET /users/:user_id/messages/:id(.:format)
messages#show
PUT /users/:user_id/messages/:id(.:format)
messages#update
DELETE /users/:user_id/messages/:id(.:format)
messages#destroy
users GET /users(.:format)
users#index
POST /users(.:format)
users#create
new_user GET /users/new(.:format)
users#new
edit_user GET /users/:id/edit(.:format)
users#edit
user GET /users/:id(.:format)
users#show
PUT /users/:id(.:format)
users#update
DELETE /users/:id(.:format)
users#destroy
这里是我的routes.db
resources :users do
resources :messages do
collection do
post :delete_selected
end
end
end
ActiveAdmin.routes(self)
devise_for :admin_users, ActiveAdmin::Devise.config
resources :users do
member do
get :following, :followers
end
end
resources :sessions, only: [:new, :create, :destroy]
resources :microposts, only: [:create, :destroy]
resources :relationships, only: [:create, :destroy]
resources :microposts do
resources :comments
end
root to: 'static_pages#home'
,这里是我的_sent.html.erb
<h2>Sent</h2>
<table>
<tr>
<th>Delete?</th>
<th>Subject</th>
<th>To</th>
<th>Sent</th>
</tr>
<% if @messages.size == 0 %>
<tr>
<td colspan="4">
No messages
</td>
</tr>
<% else %>
<% for message in @messages %>
<tr>
<td><%= check_box_tag "delete[]", message.id %></td>
<td><%= link_to h(message.subject), user_message_path(@user, message) %></td>
<td><%= link_to h(message.recipient_id), user_path(message.recipient) %></td>
<td><%=h message.created_at.to_s(:long) %></td>
</tr>
<% end %>
<tr>
<td colspan="4">
<%= submit_tag "Delete" %>
</td>
</tr>
<% end %>
</table>
<%= link_to "Inbox", user_messages_path(@user)%>
我试图让此链接工作(本地主机:3000 /用户/ 2 /消息?邮箱=发送) 但我收到此错误消息
Routing Error
No route matches {:action=>"show", :controller=>"users"}
当我今天早些时候测试时,有一些消息发送给nill收件人。将删除所有这些消息解决它,我该怎么做?我认为这是由别的东西引起的。 – syk 2013-03-11 08:49:41
hmm。你可以启动控制台并运行'Message.where(recipient_id:nil).delete_all'来删除它们。运行后,你仍然得到同样的错误,让我知道这里:) – jvnill 2013-03-11 08:54:15
那工作!....谢谢。但是,如何防止将来的邮件进入无收件人?现在,我的“收件人”字段只是一个打开的文本字段,因此用户需要输入正确的用户名。 – syk 2013-03-11 08:56:58