Мои страницы приложения Ruby on Rails печатают только данные JSON, не читают HTML - PullRequest
0 голосов
/ 20 января 2019

Я пытаюсь использовать Foundation-rails для создания хорошего сайта, но по какой-то причине application.html.erb не читается, а отображаются только данные JSON, сгенерированные из файла .csv.

Я пытался изменить множество переменных, основываясь на том, что я мог найти в Интернете, но сейчас трудно понять, что правильно, поскольку многим руководствам по фундаментным рельсам уже около 5 лет. Я просто не могу отобразить application.html.erb, независимо от содержимого файла.

[{"id":1,"name":"Large Speaker","price":199.99,"inventory_count":3,"description":"Very large. Loud? Prone to breaking.","created_at":"2019-01-20T05:31:53.080Z","updated_at":"2019-01-20T05:31:53.080Z"},{"id":2,"name":"Small Speaker","price":299.99,"inventory_count":34,"description":"Very small. Ineffective, but stylish.","created_at":"2019-01-20T05:31:53.083Z","updated_at":"2019-01-20T05:31:53.083Z"},{"id":3,"name":"Wrench","price":29.99,"inventory_count":1,"description":"Good for fixing speakers.","created_at":"2019-01-20T05:31:53.086Z","updated_at":"2019-01-20T05:31:53.086Z"},{"id":4,"name":"Golden Plate","price":1.99,"inventory_count":104,"description":"It’s just paint. Probably toxic. Great for weddings.","created_at":"2019-01-20T05:31:53.088Z","updated_at":"2019-01-20T05:31:53.088Z"}]

Это то, что отображается на localhost: 3000 / products. То, что должно отображаться, - это стандартная HTML-страница с текстовым полем и, возможно, кнопкой. Ошибки не появляются ни в моей консоли, ни в консоли Chrome.

Я также не совсем уверен, какими фрагментами кода или файлами мне следует поделиться, учитывая, что я все еще новичок в Rails. Пожалуйста, дайте мне знать, если вы хотите поближе взглянуть.

EDIT:

application.html.erb

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />

        <title><%= content_for?(:title) ? yield(:title) : "Untitled" %></title>

        <%= stylesheet_link_tag    "application" %>
        <%= javascript_include_tag "application", 'data-turbolinks-track' => true %>
        <%= csrf_meta_tags %>
  </head>

    <body>
        <!--Various elements-->
        <%= yield %>
        <%= javascript_include_tag "application" %>
    </body>
</html>

products_controller.rb

class ProductsController < ApplicationController
  before_action :set_product, only: [:show, :update, :destroy]

  # GET /products
  def index
    @products = Product.all

    render "application.html.erb", json: @products
  end

  # GET /products/1
  def show
    render json: @product
  end

  # POST /products
  def create
    @product = Product.new(product_params)

    if @product.save
      render json: @product, status: :created, location: @product
    else
      render json: @product.errors, status: :unprocessable_entity
    end
  end

  # PATCH/PUT /products/1
  def update
    if @product.update(product_params)
      render json: @product
    else
      render json: @product.errors, status: :unprocessable_entity
    end
  end

  # DELETE /products/1
  def destroy
    @product.destroy
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_product
      @product = Product.find(params[:id])
    end

    # Only allow a trusted parameter "white list" through.
    def product_params
      params.require(:product).permit(:name, :price, :inventory_count, :description)
    end
end
...