簡體   English   中英

Rails Mailer將URL設置為已發送電子郵件中的對象

[英]Rails mailer set url to object on email sent

我創建了一個郵件發送器,用於在創建對象時發送電子郵件。

這是模板:

<h4>A new poll was created, <%= @poll.question %></h4>

Check it at <%= polls_url(@poll) %>

<p>Have a great day!</p>

我收到的結果是:

A new poll was created, Question?
Check it at http://example.com/polls.88

Have a great day!

以下是我的routes.rb

Rails.application.routes.draw do

    resources :bugs
    resources :projects do
      resources :project_lines do
        post 'accept', :on => :member
        post 'start', :on => :member
        post 'complete', :on => :member
        post 'approve', :on => :member
        post 'pay', :on => :member
      end
    end
    resources :projects do
      resources :project_expenses do
        post 'approve', :on => :member
        post 'pay', :on => :member
      end
    end
    resources :clients
    get 'poll_excluded_users/create'


    resources :polls do
      resources :comments
      collection { post :import }
    end

    resources :comments do
      resources :comments
    end

    devise_for :users, :path_prefix => 'd'

    root to: "polls#open_polls"

end

為什么將URL設置為polls.88而不是polls/88 我該如何解決?

噓,如果您運行rake routesrails routes以查看路線,則會顯示

    poll_comments GET    /polls/:poll_id/comments(.:format)          comments#index
                  POST   /polls/:poll_id/comments(.:format)          comments#create
 new_poll_comment GET    /polls/:poll_id/comments/new(.:format)      comments#new
edit_poll_comment GET    /polls/:poll_id/comments/:id/edit(.:format) comments#edit
     poll_comment GET    /polls/:poll_id/comments/:id(.:format)      comments#show
                  PATCH  /polls/:poll_id/comments/:id(.:format)      comments#update
                  PUT    /polls/:poll_id/comments/:id(.:format)      comments#update
                  DELETE /polls/:poll_id/comments/:id(.:format)      comments#destroy
     import_polls POST   /polls/import(.:format)                     polls#import
            polls GET    /polls(.:format)                            polls#index
                  POST   /polls(.:format)                            polls#create
         new_poll GET    /polls/new(.:format)                        polls#new
        edit_poll GET    /polls/:id/edit(.:format)                   polls#edit
             poll GET    /polls/:id(.:format)                        polls#show
                  PATCH  /polls/:id(.:format)                        polls#update
                  PUT    /polls/:id(.:format)                        polls#update
                  DELETE /polls/:id(.:format)                        polls#destroy

這意味着您的單個poll顯示路徑在下面

poll GET    /polls/:id(.:format)                        polls#show

那么它將是電子郵件模板poll_url而不是polls_url ,它將顯示(poll_url)類似www.example.com/pools/88

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM