繁体   English   中英

创建删除链接时消息的未定义局部变量

[英]undefined local variable for message when creating delete link

对于我的收件箱,我创建了一种从收件箱中删除多封邮件的方法。 现在,我尝试设置如何删除当前用户正在查看的消息。 消息底部应有一个链接,显示为Delete 当用户单击“ Delete链接时,该消息将被删除,并且用户将被重定向到其收件箱。

将代码添加到控制器时,我现在甚至无法查看收件箱消息。 我在尝试查看消息时收到undefined local variable or method "message" error ,消息标题为NameError in Messages#showNameError 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM