0
對於我的收件箱,我創建了一種從收件箱中刪除多條郵件的方法。現在我正在嘗試設置如何刪除當前用戶正在查看的消息。信息底部應該有一個鏈接,其內容爲Delete
。當用戶點擊Delete
鏈接時,郵件將被刪除,用戶將被重定向到他們的收件箱。創建刪除鏈接時未定義的郵件局部變量
將代碼添加到控制器時,我現在無法查看收件箱消息。試圖查看消息時,我收到undefined local variable or method "message" error
,頁面標題爲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
給出未定義的方法'message_path」的錯誤。 – pwz2000
你的'routes.rb'文件中有':messages'資源嗎? – PinnyM
是的,路線剛剛添加到原始文章。 – pwz2000