更新
错误是rails找不到root_url
访问 <%= link_to root_url, root_url %> 并转到您的收件箱以获取更多信息。
为了快速修复,我不需要将用户发送到 root_url 只是通知用户转到应用程序。我将代码更改为:在邮箱电子邮件视图上
Visit **messages** and go to your inbox for more info.
问题
我使用我的 rails 4 应用程序进行了设计。当我发送消息时,我正在关注示例邮箱应用程序,但出现错误:
`error undefined local variable or method `root_url' for #<#<Class:0x007ffe0b881678>:0x007ffe0b068298>`
我有修复让它工作的东西
- 得到通过电子邮件向用户发送消息的表单
- 用户可以发送和回复
- 标记为删除
- 查看收件箱、发件箱和垃圾箱
这是我的步骤
- 安装 gem -v 0.12.1
- rails g 邮箱:安装
- 运行迁移
- 使用示例应用程序中的代码(控制器、视图、路由)
- 添加到我的 user.rbacts_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 %>