我有以下控制器操作,它返回当前用户的收件箱消息(我正在使用邮箱):
def index
@conversations = mailbox.inbox
render :template => "/api/communications/index.json.jbuilder"
end
这会在 jbuilder 启动时呈现 json 响应:
json.array!(@conversations) do |conversation|
json.id conversation.id
json.sender conversation.last_sender.name
json.subject conversation.subject
json.body conversation.last_message.body
json.current_user_id current_user.id
json.current_user_name current_user.name
json.admin current_user.is_admin?
end
请注意由 current_user 构建的最后 3 个 json 值,这是我的 application_controller 中声明的辅助方法。我在这里有两个问题:
1)虽然这种方法可行,但最好将 current_user 值从数组中取出。如果我只是将它们移出块,我会收到以下错误:
TypeError(无法将字符串转换为整数)
2) 如果 current_user 在其收件箱中没有对话,则数组将为空(@conversations 为空白),因此不会传递 current_user 值。
回顾一下:我可以将 current_user 值附加到现有数组,我可以将 current_user 值附加到空数组吗?