0

我正在尝试使用 Rails 4 中的 Mailboxer gem 在我的站点中设置消息传递系统。当我的应用程序访问此代码时:

def fetch_params(key, *subkeys)
    params[key].instance_eval do
        case subkeys.size
            when 0 then self
            when 1 then self[subkeys.first]
            else subkeys.map{|k| self[k] }
        end
    end

它返回错误:undefined method '[]' for nil:NilClass

在此处输入图像描述

我试图弄清楚这一点,但我不是很有经验。我一直在关注本教程:http: //jamestansley.com/2014/02/22/customizing-the-mailboxer-ruby-gem-2/

我尝试删除返回错误的代码行只是为了看看会发生什么,之​​后我收到了错误wrong number of arguments (1 for 2..6)

w

任何人都可以尝试向我解释这段代码吗?实现这个功能真的很艰难。

查看/对话/_form

<%= simple_form_for :conversation, url: :conversations do |f|  %>
<%= f.input :recipients %>
<%= f.input :subject %>
<%= f.input :body %>

<div class="form-actions">
  <%= f.button :submit, class: 'btn-primary' %>

  <%= submit_tag 'Cancel', type: :reset, class: 'btn btn-danger' %>
</div>

<% end %>

查看/对话/显示

<h1><%= @conversation.subject %> </h1>
<!--may have to work on this view. don't know if i did the haml conversion correctly-->
<h1> <%= conversation.subject %> </h1>
    <ul>
        <% content_tag_for(:li, conversation.receipts_for(current_user)) do |receipt| %>
            <%= message = receipt.message %>
            <h3><%= message.subject %> </h3>
            <p><%= message.body %> </p>
    </ul>
<% render 'messages/form', conversation: conversation %>
<% end %>

这是我的 github 仓库:

https://github.com/portOdin/GoFavorIt-Heroku/blob/8cd19ff5b61eb805dc694a6586f50df608752be2/app/views/conversations/show.erb

4

0 回答 0