Ruby on rails 从rails api在tableview中显示用户设置

Ruby on rails 从rails api在tableview中显示用户设置,ruby-on-rails,swift,uitableview,Ruby On Rails,Swift,Uitableview,我正在尝试获取一些属于用户模型的用户通知设置。我试图返回一个数组,该数组具有通知列名、友好名称及其值(true/false)。这是因为我希望能够动态显示设置,我需要友好的名称来显示它,并且需要列名来在我返回呼叫时更新它 我在检索这些信息时遇到问题,无法在IOS前端执行此操作 现在,我的用户模型中有以下内容: def user_notifications ret = Hash.new ret[:notification_likes] = notification_likes

我正在尝试获取一些属于用户模型的用户通知设置。我试图返回一个数组,该数组具有通知列名、友好名称及其值(true/false)。这是因为我希望能够动态显示设置,我需要友好的名称来显示它,并且需要列名来在我返回呼叫时更新它

我在检索这些信息时遇到问题,无法在IOS前端执行此操作

现在,我的用户模型中有以下内容:

 def user_notifications
    ret = Hash.new
    ret[:notification_likes] = notification_likes
    ret[:notification_followers] = notification_followers
    ret
  end
def user_notifications
    return [{"friendly_name": "Likes", "column_name": "notification_likes", "value": notification_likes},
    {"friendly_name": "Followers", "column_name": "notification_followers", "value": notification_followers}]
  end
这在我的控制器中,它返回这些值

def user_settings
    render :json => current_user.user_notifications
  end
我可以很容易地将一些东西硬编码到我的IOS代码中,以假设只有这两个通知会返回,但正如我所说的,我希望它是动态的。如何在这个结果中包含一个友好的名称,以便能够在前端解析它(SwiftyJSON)


谢谢

以下是我如何让它工作的。虽然不是最具可扩展性的解决方案,但它确实做到了这一点

以下是我的用户模型中的代码:

 def user_notifications
    ret = Hash.new
    ret[:notification_likes] = notification_likes
    ret[:notification_followers] = notification_followers
    ret
  end
def user_notifications
    return [{"friendly_name": "Likes", "column_name": "notification_likes", "value": notification_likes},
    {"friendly_name": "Followers", "column_name": "notification_followers", "value": notification_followers}]
  end
这将返回一个通知字典,如下所示:

[
  {
    "column_name" : "notification_likes",
    "value" : true,
    "friendly_name" : "Likes"
  },
  {
    "column_name" : "notification_followers",
    "value" : true,
    "friendly_name" : "Followers"
  }]
然后我在我的IOS应用程序中创建了一个名为UserPushNotificationSetting的模型对象,我查看了结果并创建了一个模型对象,然后将其添加到数组中

其余部分的逻辑如下。。my tableview将显示具有UserPushNotificationSetting类型变量的自定义单元格。。。在我的CellForRow中,我将设置为cells UserPushNotification,在数组的当前索引处设置一个


回到我的单元格中,我将显示友好名称并设置推送通知设置的值。每次更改时间值时,我的单元格都会向我的api发送一个包含列名和新值的调用。。。工作完美。可能会更好,但现在做这项工作。

以下是我如何做到这一点的。虽然不是最具可扩展性的解决方案,但它确实做到了这一点

以下是我的用户模型中的代码:

 def user_notifications
    ret = Hash.new
    ret[:notification_likes] = notification_likes
    ret[:notification_followers] = notification_followers
    ret
  end
def user_notifications
    return [{"friendly_name": "Likes", "column_name": "notification_likes", "value": notification_likes},
    {"friendly_name": "Followers", "column_name": "notification_followers", "value": notification_followers}]
  end
这将返回一个通知字典,如下所示:

[
  {
    "column_name" : "notification_likes",
    "value" : true,
    "friendly_name" : "Likes"
  },
  {
    "column_name" : "notification_followers",
    "value" : true,
    "friendly_name" : "Followers"
  }]
然后我在我的IOS应用程序中创建了一个名为UserPushNotificationSetting的模型对象,我查看了结果并创建了一个模型对象,然后将其添加到数组中

其余部分的逻辑如下。。my tableview将显示具有UserPushNotificationSetting类型变量的自定义单元格。。。在我的CellForRow中,我将设置为cells UserPushNotification,在数组的当前索引处设置一个

回到我的单元格中,我将显示友好名称并设置推送通知设置的值。每次更改时间值时,我的单元格都会向我的api发送一个包含列名和新值的调用。。。工作完美。可能会更好,但现在做得更好