带有rails 4的邮箱(未定义的局部变量或方法`root_url')

时间:2014-06-20 02:25:10

标签: ruby-on-rails ruby mailboxer

更新

错误是rails无法找到root_url

访问<%= link_to root_url,root_url%>并转到您的收件箱以获取更多信息。

快速修复,我不需要将用户发送到root_url,只是通知用户转到应用程序。我将代码更改为:在邮箱电子邮件视图

Visit **messages** and go to your inbox for more info.

问题

我用我的rails 4应用程序设置了设计。我在发送消息时遇到示例mailboxer-app我收到错误:

`error undefined local variable or method `root_url' for #<#<Class:0x007ffe0b881678>:0x007ffe0b068298>`

东西我已经修复了它的工作

  • 表单通过电子邮件向用户发送消息
  • 用户可以发送和回复
  • 标记为删除
  • 查看收件箱,已发送邮箱和垃圾箱

这是我的步骤

  • 安装gem -v 0.12.1
  • rails g mailboxer:install
  • 运行迁移
  • 使用示例应用程序中的代码(控制器,视图,路线)
  • 添加到我的user.rb acts_as_messageable和

对话控制器

  before_filter :authenticate_user!
  helper_method :mailbox, :conversation

  def index
        @inbox ||= current_user.mailbox.inbox.paginate(:page => params[:inbox], :per_page => 5  )
        @sentbox ||= current_user.mailbox.sentbox.paginate(:page => params[:sentbox], :per_page => 5    )
        @trash ||= current_user.mailbox.trash.paginate(:page => params[:trash], :per_page => 5  )
  end
  def create
    recipient_emails = conversation_params(:recipients).split(',')
    recipients = User.where(email: recipient_emails).all

     conversation = current_user.
      send_message(recipients, *conversation_params(:body, :subject)).conversation

    redirect_to :conversations
  end

形式

<%= bootstrap_form_for :conversation, url: :conversations do |f| %>
    <%= f.text_field :recipients%>
    <%= f.text_field :subject%>
    <%= f.text_field :body %>
    <div class="form-actions">
      <%= f.primary "send" %>
      <%= submit_tag 'Cancel', type: :reset, class: 'btn btn-danger' %>
    </div>
  <% end %>

查看

<% @inbox.each do |conversation| %>
<%= conversation.originator.username%>
<%= link_to  raw(truncate(strip_tags(conversation.subject), :length => 15)), conversation_path(conversation) %>
 <% end %>

1 个答案:

答案 0 :(得分:1)

好的解决了这个问题。 发生的事情是邮箱邮件正在寻找root_url。 Rails 4.1不会生成视图,只是从源代码复制文件并工作greate。

并在此处更改代码的这一部分。

查看/邮箱/所有这些文件 message_mailer notification_mailer

更改此

Visit <%= link_to root_url, root_url %> and go to your inbox for more info.

到这个

Visit **messages** and go to your inbox for more info.

Thanx对这个人supremebeing7。在邮箱问题页面上