-2

在我的 Rails 应用程序中,我创建了一个控制器来从数据库中获取数据,其中还包括模型中的参数,如下所示。

问题是views文件夹中没有html页面。我需要运行控制器吗???我想要输出我的 json 格式.. html 页面是如何创建的,我在哪里可以看到我的 json 格式的数据...

# shoppingDemo.rb (controller)
class ShoppingDemo < ApplicationController
  def index
    @lists=products.all;
    respond_to do |format|
      format.html
      format.json { render json: @lists}
    end
  end

  def show
    @products = products.find(params[:prod_id])

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @products }
    end
  end
end

# products(model)
class products < Activerecord::Base
  attr_accessible :model_name, :brand_name, :price, :discount, :qty_available
end

创建 html 页面或以 json 格式从数据库中查看我的数据的下一步是什么。

4

3 回答 3

1

你应该解决一些问题:

1) 在模型中

class Product

2) 在控制器中

@lists = Product.all

@products = Product.find(params[:id])

3)您应该在config/routes.rb

resources :products

它将为索引、显示、新建、创建、更新、销毁操作创建路由。在这里阅读更多。

之后,您可以通过 http 请求访问您的产品列表,http://localhost:3000/products并在 id=1 上显示您的产品http://localhost:3000/products/1

于 2012-12-09T08:35:58.390 回答
1

只需手动执行即可。为此,只需shopping_demo在视图目录中创建文件夹。然后在shopping_demo目录中创建index.html.erbshow.html.erb文件。

现在,如果您想访问 json 数据,只需像这样附加 .json 格式说明符http://localhost:3000/path_to_resource/1.json。确保将 path_to_resource 替换为您尝试访问的资源的名称。

首先将您的shoppingDemo.rb文件重命名为shopping_demo_controller.rb。然后在shopping_demo_controller.rb文件中将类名更改为ShoppingDemoController。最后将其resources :shopping_demo放在ShoppingDemo::Application.routes.draw do您的 routes.rb 文件中。

于 2012-12-09T08:54:01.800 回答
1

Rails 是一个 MVC 框架。MVC 代表模型视图控制器。

您说的html存在于视图中。

对于 ShoppingDemo 控制器的索引操作,创建此文件

app/views/shoppingdemo/index.html.erb

并在里面编写适当的代码。例如

<% @lists.each do |list| %>
  <%= list %>
<% end %>

你也有错别字。当您调用模型时,您应该使用首字母大写。

例如,而不是

@lists = products.all #WRONG

@lists = Product.all #Plural the first letter and singular for the model.
于 2012-12-09T13:26:11.617 回答