Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails的MVC问题_Ruby On Rails_Model View Controller_Amazon Web Services - Fatal编程技术网

Ruby on rails RubyonRails的MVC问题

Ruby on rails RubyonRails的MVC问题,ruby-on-rails,model-view-controller,amazon-web-services,Ruby On Rails,Model View Controller,Amazon Web Services,我打算在数据库中存储与一本书(书名,isbn)有关的最少数量的信息。但是,在显示时,我希望显示数据库中未存储的其他属性(页面、作者、封面图像)。我计划使用从AmazonWebServices(AWS)获取这些信息。我对RubyonRails非常陌生,不确定这将/应该如何执行 突然想到的一些选项包括修改books controller或基于Amazon实体创建一个完全独立的模型,该实体依赖于搜索仅在我的数据库中列出的书籍。可以自定义ActiveRecord book模型以从AWS检索其他属性。您的

我打算在数据库中存储与一本书(书名,isbn)有关的最少数量的信息。但是,在显示时,我希望显示数据库中未存储的其他属性(页面、作者、封面图像)。我计划使用从AmazonWebServices(AWS)获取这些信息。我对RubyonRails非常陌生,不确定这将/应该如何执行


突然想到的一些选项包括修改books controller或基于Amazon实体创建一个完全独立的模型,该实体依赖于搜索仅在我的数据库中列出的书籍。

可以自定义ActiveRecord book模型以从AWS检索其他属性。您的视图和控制器将变得单调乏味。

我建议在模型中创建方法。每次显示这些条目时,您是否总是要提取额外的信息?如果没有,您可能希望为“扩展”(即有亚马逊信息)或“有限”(即没有亚马逊信息)使用不同的控制器操作,并将另一个作为标准。通过这种方式,您可以在需要时准确地提取所需内容,并确保仅在需要时访问amazon,而不是每次显示或索引调用。

当您需要在任何MVC环境中处理任何数据时,它需要进入模型中。您可以创建一个附加的other_information方法,该方法使用| |=从AWS获取其他信息或从实例变量返回信息。或者,您可以创建一个find_with_info方法,同时获取所有内容:)


但必须在模型中保留任何与数据相关的任务。

这很有意义。我应该创建定义或属性来从模型中进行查找吗?创建名为(页面、作者、封面图片等)的方法。在这些方法中,获取amazon信息并返回所请求的值。您可能不希望对每个属性进行AWS调用,因此通过将AWS结果塞入活动记录的实例变量(例如(@my_AWS_result))来缓存AWS结果。这不会持久,但至少您会将AWS请求限制为每个最终用户请求1个。显然,您可以使用更高级的缓存,而不必担心中断控制器和视图。模型将封装这些细节。