【问题标题】:Rails: Use controller for importRails:使用控制器进行导入
【发布时间】:2012-12-14 19:19:48
【问题描述】:

我有很多 JSON 格式的数据,想将其导入我的数据库。我的问题是,我的控制器中有几个 after_createafter_update 方法,其他内容写入数据库。

所以我想使用控制器来导入数据。我可以将我的数据格式化为与 params 哈希相同的格式。但是,当我创建控制器实例、设置参数哈希并调用 create 时,它找不到一些类变量。

然后我尝试强制 RSpecs 控制器测试通过帖子完成工作,但我也失败了。也许这是不可能的,或者甚至有更好的选择来使用我的控制器中的所有钩子导入数据。

【问题讨论】:

  • 另一个想法:也许只将实际数据发布到我的网站更容易/更快。但是如何处理身份验证(通过设计完成)?
  • import to db of your json data 是一次?或请求级别..
  • 您是否考虑过将部分代码从控制器移到模型中?我知道这并不能解决您的问题,但我认为惯例适用于“瘦控制器,胖模型”。
  • 这实际上不是我的代码,是的,它有点乱 ;)。导入不是一次性导入,每晚都会获取新数据,每晚大约 1000 个产品。

标签: ruby-on-rails ruby-on-rails-3 rspec controller


【解决方案1】:

您可以使用RestClient 之类的方式将数据发布到网站本身。

就处理身份验证而言,devise 支持 HTTP 基本身份验证,但它has to be enabled。如果可以的话,您可以轻松地将 RestClient 与 HTTP 基本身份验证一起使用。另一种选择是将 Token Authentication 与 Devise 一起使用。

【讨论】:

  • 我尝试了令牌认证,成功了!我想我现在会通过控制器来完成,但会逐步重构代码;)
猜你喜欢
  • 1970-01-01
  • 2017-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多