[英]undefined local variable for message when creating delete link
对于我的收件箱,我创建了一种从收件箱中删除多封邮件的方法。 现在,我尝试设置如何删除当前用户正在查看的消息。 消息底部应有一个链接,显示为Delete
。 当用户单击“ Delete
链接时,该消息将被删除,并且用户将被重定向到其收件箱。
将代码添加到控制器时,我现在甚至无法查看收件箱消息。 我在尝试查看消息时收到undefined local variable or method "message" error
,消息标题为NameError in Messages#show
的NameError in Messages#show
。
有人知道我该如何解决这个问题?
新代码添加到控制器:
def destroy
@message = Message.find(params[:id])
@message.destroy
flash[:notice] = "Successfully deleted message."
redirect_to user_messages_path(@user, @messages)
end
消息控制器:
Class MessagesController < ApplicationController
before_filter :set_user
def show
@message = Message.find(params[:id])
@message.readingmessage if @message.recipient == current_user
end
def destroy
@message = Message.find(params[:id])
@message.destroy
flash[:notice] = "Successfully deleted message."
redirect_to user_messages_path(@user, @messages)
end
private
def set_user
@user = current_user
end
end
show.html:
<%= link_to "remove", message, :confirm => 'Are you sure?', :method => :delete %>
路线:
Dating::Application.routes.draw do
get 'signup' => 'users#new'
get 'login' => 'sessions#new'
get 'logout' => 'sessions#destroy'
get 'edit' => 'users#edit'
get "/profile/:id" => "users#show"
get "profile/:id/settings" => 'users#edit'
match 'settings/:id' => 'users#settings'
resources :users
resources :sessions
resources :password_resets
resources :galleries
resources :photos
resources :searches
resources :users do
get 'settings', on: :member
end
root to: 'users#new'
root to: 'galleries#index'
resources :users do |user|
resources :messages do
collection do
post 'delete_multiple'
end
end
end
我认为您需要在link_to中使用@message
,如下所示:
<%= link_to "remove", @message, :confirm => 'Are you sure?', :method => :delete %>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.