Ruby on rails 在邮件程序中创建包含链接的邮件

Ruby on rails 在邮件程序中创建包含链接的邮件,ruby-on-rails,Ruby On Rails,我创建了一个邮件,只要我不在正文中添加链接,它就可以正常工作。 我希望有一个电子邮件,是发送给收件人一旦消息是直接向他在平台上 似乎不起作用。有没有解决这个问题的具体方法?到目前为止,我所看到的一切都不是很清楚 错误消息是: ActionController::UrlGenerationError in Rails::Mailers#preview Message-mailer.rb文件: class MessageMailer < ApplicationMailer def ne

我创建了一个邮件,只要我不在正文中添加链接,它就可以正常工作。 我希望有一个电子邮件,是发送给收件人一旦消息是直接向他在平台上

似乎不起作用。有没有解决这个问题的具体方法?到目前为止,我所看到的一切都不是很清楚

错误消息是:

ActionController::UrlGenerationError in Rails::Mailers#preview
Message-mailer.rb文件:

class MessageMailer < ApplicationMailer

  def new_message(message)
    @message = message

    @title = message.title
    @from_first_name = User.find_by_id(message.user_id).first_name
    @from_last_name = User.find_by_id(message.user_id).last_name


    mail to: @message.user.email,
         subject: "New Message: #{@message.title}"

  end
end
class MessageMailer
邮件程序不在响应堆栈内,您需要指定主机或从env将其设为默认主机

类似的回答和行动邮件

你好

消息链接:

#development.rb-默认情况下 config.action\u mailer.default\u url\u options={:host=>“localhost”}
你能输入你的邮件代码吗?嗨,我刚试过,但又出现了一个错误,
缺少必需的键:[:id],可能存在不匹配的约束:[:locale]
共享你的邮件\u mailer.rb文件你好,我刚在原始文件中添加了该文件message@Etienne刚刚更新了我的答案
id:@message.id
像这样试试,忘记使用
url
而改为
path
。嘿,非常感谢,我现在有了缺少的区域设置键:
ActionView::Template::Error(没有路由匹配{:action=>“show”,:controller=>“messages”,:id=>83},缺少必需的键:[:Locale])
比php困难得多:(
<p>Hi <%= "#{@email}"%>,</p>
<p>
    Message Link: <%=  link_to "See Message", 
                        message_url(id: @message.id, host: "http://localhost:3000")%>    
</p>

# development.rb - for default
config.action_mailer.default_url_options = { :host => "localhost" }