所以我的数据库上有 3 个产品,但在我的本地机器上我看到 9 个……不知何故,每次我创建一个产品时,它都会复制

Posted

技术标签:

【中文标题】所以我的数据库上有 3 个产品,但在我的本地机器上我看到 9 个……不知何故,每次我创建一个产品时,它都会复制【英文标题】:So i have 3 products on my db but on my local machine i see 9...somehow every time i create a product it is duplicating 【发布时间】:2017-07-28 05:13:10 【问题描述】:

产品负载 (4.8ms) SELECT "products".* FROM "products" => #http://www.heritagedaily.com/wp-content/uploads/20...", created_at: “2017-03-07 19:17:57”,更新时间:“2017-03-07 19:17:57”,颜色: “棕色”,价格:#>,

"http://www.heritagedaily.com/wp-content/uploads/20...", created_at: “2017-03-07 19:17:57”,更新时间:“2017-03-07 19:17:57”,颜色: “棕色”,价格:#>,

"http://www.heritagedaily.com/wp-content/uploads/20...", created_at: “2017-03-07 19:17:57”,更新时间:“2017-03-07 19:17:57”,颜色: “棕色”,价格:#>

这就是我进入产品页面后在本地主机上得到的内容 =>

ActiveRecord::SchemaMigration 加载 (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations" 处理者 StaticPagesController#landing_page 作为 html 渲染 布局/应用程序中的 static_pages/landing_page.html.erb 弃用警告:uniq 已弃用,将从 Rails 中删除 5.1(使用 distinct 代替)(从 _app_views_static_pages_landing_page_html_erb__3481566516998456644_70117399973400 在 /Users/jovanka/Desktop/the_antique/app/views/static_pages/landing_page.html.erb:23) 产品负载 (0.2ms) SELECT DISTINCT "products".* FROM "products" 产品负载 (0.8ms) SELECT "products".* FROM "products" ORDER BY “产品”。“id” ASC 限制? [["LIMIT", 1]] 渲染 布局/应用程序中的 static_pages/landing_page.html.erb (20.5ms) 在 428 毫秒内完成 200 次 OK(查看次数:404.1 毫秒 | ActiveRecord:1.6 毫秒)

在 2017-03-07 14:23:33 -0600 开始 GET "/cable" for ::1 开始 GET "/cable/" [WebSocket] for ::1 在 2017-03-07 14:23:33 -0600 成功升级到 WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket) 未经授权 连接尝试被拒绝 升级到 WebSocket 失败 (REQUEST_METHOD:GET,HTTP_CONNECTION:升级,HTTP_UPGRADE: websocket) 于 2017-03-07 为 ::1 完成了 "/cable/" [WebSocket] 14:23:33 -0600 在 2017-03-07 完成 ::1 的“/cable/”[WebSocket] 14:23:33 -0600 在 2017-03-07 14:23:42 开始为 ::1 获取“/cable” -0600 Started GET "/cable/" [WebSocket] for ::1 at 2017-03-07 14:23:42 -0600 成功升级到 WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket) 未经授权 连接尝试被拒绝 升级到 WebSocket 失败 (REQUEST_METHOD:GET,HTTP_CONNECTION:升级,HTTP_UPGRADE: websocket) 于 2017-03-07 为 ::1 完成了 "/cable/" [WebSocket] 14:23:42 -0600 在 2017-03-07 完成 ::1 的“/cable/”[WebSocket] 14:23:42 -0600 在 2017-03-07 14:23:43 开始为 ::1 获取“/products” -0600 ProductsController#index 处理为 HTML 在布局/应用程序产品加载中呈现 products/index.html.erb (0.2ms) SELECT "products".* FROM "products" 产品:古代 珠宝产品:古代珠宝产品:古代珠宝 渲染产品/_product.html.erb (7.9ms) 产品:古代珠宝 产品:古代珠宝产品:古代珠宝渲染 products/_product.html.erb (2.2ms) 产品:古珠宝 产品:古代珠宝产品:古代珠宝渲染 products/_product.html.erb (1.5ms) 渲染的 products/index.html.erb 在布局/应用程序内(20.9 毫秒)在 192 毫秒内完成 200 次 OK(查看次数: 142.1 毫秒 |活动记录:1.1 毫秒)

在 2017-03-07 14:23:43 -0600 开始 GET "/cable" for ::1 开始 GET "/cable/" [WebSocket] for ::1 在 2017-03-07 14:23:43 -0600 成功升级到 WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket) 未经授权 连接尝试被拒绝 升级到 WebSocket 失败 (REQUEST_METHOD:GET,HTTP_CONNECTION:升级,HTTP_UPGRADE: websocket) 于 2017-03-07 为 ::1 完成了 "/cable/" [WebSocket] 14:23:43 -0600 在 2017-03-07 完成 ::1 的“/cable/” [WebSocket] 14:23:43 -0600 在 2017-03-07 14:23:53 开始为 ::1 获取“/cable” -0600 ActiveRecord::SchemaMigration Load (0.6ms) SELECT "schema_migrations".* FROM "schema_migrations" Started GET "/cable/" [WebSocket] for ::1 at 2017-03-07 14:23:53 -0600 升级成功 到 WebSocket(REQUEST_METHOD:GET,HTTP_CONNECTION:升级, HTTP_UPGRADE: websocket) 未经授权的连接尝试 拒绝升级到 WebSocket 失败 (REQUEST_METHOD: GET, HTTP_CONNECTION:升级,HTTP_UPGRADE:websocket)完成“/cable/” [WebSocket] for ::1 at 2017-03-07 14:23:53 -0600 完成“/cable/” [WebSocket] for ::1 在 2017-03-07 14:23:53 -0600 开始 GET "/cable" 为 ::1 在 2017-03-07 14:24:05 -0600 开始 GET "/cable/" [WebSocket] for ::1 at 2017-03-07 14:24:05 -0600 成功升级到 WebSocket(REQUEST_METHOD:GET,HTTP_CONNECTION:升级, HTTP_UPGRADE: websocket) 未经授权的连接尝试 拒绝升级到 WebSocket 失败 (REQUEST_METHOD: GET, HTTP_CONNECTION:升级,HTTP_UPGRADE:websocket)完成“/cable/” [WebSocket] for ::1 at 2017-03-07 14:24:05 -0600 Finished "/cable/" [WebSocket] for ::1 在 2017-03-07 14:24:05 -0600

产品/_product.html.erb

<% @products.each do |product| %> 
  <div class="col-sm-2 col-md-4"> 
    <h3><%= link_to product.name, product %></h3> 
    <% if product.image_url.present? %> 
      <%= image_tag(product.image_url , class: "img-thumbnail") %> 
    <% end %>
    <br> <strong>Description<%= product.description %></strong> <br/>
    <strong>Colour:<%= product.colour %></strong> <br/> 
    <strong>Price: $ <%= product.price %></strong> <br/> 
    <%= link_to 'Show', product ,class:"btn btn-default"%> 
    <%= link_to 'Edit', edit_product_path(product), class:"btn btn-default" %> 
    <%= link_to 'Destroy', product, method: :delete, data:  confirm: 'Are you sure?' , class:"btn btn-default"%> 
    <% logger.debug "Product: #product.name"%> <br> <br> 
  </div> <!-- /col --> 
<% end %>

【问题讨论】:

请出示您的products/_product.html.erb

描述 颜色: 价格:$ @Iceman 你能看到吗 @Jovanka,如果你用代码更新你的原始帖子会更好。另外,请包含控制器的代码,其中正在创建变量 products。 【参考方案1】:

我在查看您提供的 the source 时发现了问题。 您在产品中循环了两次。 第一次在 ./app/views/products/index.html.erb 中,然后再次在 ./app/views/products/_product.html.erb 中。 解决方案是从部分外部删除循环:

/app/views/products/index.html.erb

<div class="container-fluid">
  <div class="row">
      <%= render partial: "product" %>
  </div> <!-- row -->
</div> <!-- container -->

【讨论】:

你太棒了,这太棒了......感谢实时保护程序

以上是关于所以我的数据库上有 3 个产品,但在我的本地机器上我看到 9 个……不知何故,每次我创建一个产品时,它都会复制的主要内容,如果未能解决你的问题,请参考以下文章

Heroku 当我在线部署我的应用程序时它崩溃但在我的本地机器上它可以正常工作

Pyinstaller 一切都在本地机器上运行,但在另一台机器上失败

Flask-Login:在本地机器上不起作用,但在托管上很好

Django 在服务器上找不到静态文件,但在本地机器上工作正常

cfc中的查询返回本地的[n]项,但在实时站点上重复第一个元素[n]次

Axios GET请求在我的本地版本上运行,但在Heroku上失败-未捕获(承诺)错误:请求失败,状态码为500