我有一個頁面在發送電子郵件,ID不通過
http://localhost:3000/email/correspond?id=6
這是發送電子郵件的形式。當發送其更改爲:
http://localhost:3000/email/correspond
,並引發了錯誤; Couldn't find User with 'id'=
這是由
def set_user
@user = User.find(params[:id])
end
這是email_controller引起的(見下文)
,因爲ID在發送URL給我無法理解的問題。
有人可以解釋一下嗎?
從email_controller.rb
`
def correspond
@cuser = @current_user
@recipient = @user
@title = "Email"
if param_posted?(:message)
@message = Message.new(params[:message])
if @message.valid?
PostMailer.say_hello(@cuser, @recipient, @message).deliver_now
flash[:notice] = "Email sent."
redirect_to user_path(@recipient)
end
end
end
def set_user
@user = User.find(params[:id])
end`
的routes.rb
Eskvalleytales::Application.routes.draw do
root :to => 'users#index'
get 'user/:id' => 'user#show'
get 'user/search' => 'user#search'
resource :sessions
get 'session/destroy' => 'sessions#destroy'
get 'friendship/accept' => 'friendship#accept'
get 'friendship/decline' => 'friendship#decline'
get 'friendship/cancel' => 'friendship#cancel'
get 'friendship/delete' => 'friendship#delete'
get 'friendship/create' => 'friendship#create'
get 'email/correspond' => 'email#correspond'
post 'email/correspond' => 'email#correspond'
resources :comments
resources :users
resources :subcomments
resources :profiles
resources :emails
resources :users do
resources :comments do
resources :subcomments
end
end
resources :comments do
resources :subcomments
end
resources :users do
resources :emails
resources :new_file
end
resources :users do
resources :emails do
end
end
resources :users do
resources :fiendships
end
resources :users do
resources :subcomments
end
end
感謝那些工作。我必須得到'email /對應/:id'=>'email#對應'以及 – gleb
得到?嗯.....好吧。是的。當然。很高興它的工作 –
那麼爲什麼要'user/id'=>'user#show'沒有分號?這讓我感到困惑。 – gleb