这里是编程新手。我正在使用 Rails 创建一个进行评论的 Web 应用程序,但在弄清楚从哪里开始处理这一特定部分时遇到了一些麻烦。我将不胜感激任何和所有的帮助:
假设我想在我的主页上列出前 10 家餐厅的列表。每个位置旁边都会有一个分数。如果您点击该餐厅的链接,您将进入该餐厅的详细信息页面,您可以在其中对许多不同的品质进行评分。当用户对地点进行评分时,分数将会更新。如何根据用户对每个地方的评分将分数和排名反射(reflect)在我的主页上?认为这可能必须使用一些 Javascript 来完成(或者有没有办法在 Rails 中做到这一点?)。谢谢!
最佳答案
您问题的纯粹答案是您需要 data persistence - 集中存储数据并将其呈现在用户 View 中的位置。
有趣的是,为什么您应该在 Ruby on Rails
部分提出这个问题 - 这正是这个框架的用途,如果您不这样做,我会质疑您的能力不考虑这个
--
数据库
Rails 使用中央数据库来存储您的数据。它使用 MVC programming pattern让您能够在任何需要的地方访问该数据;允许您根据您的要求操纵它:
在不详细说明如何从头开始制作应用程序的情况下,我将向您提供应使用的基本原则:
#config/routes.rb
root "restaurants#index"
resources :restaurants
#app/controllers/restaurants_controller.rb
Class RestaurantsController < ApplicationController
def index
@restaurants = Restaurant.all
end
end
#app/models/restaurant.rb
Class Restaurant < ActiveRecord::Base
has_many :reviews
end
#app/models/review.rb
Class Review < ActiveRecord::Base
belongs_to :restaurant
end
#app/views/restaurants/index.html.erb
<% for restaurant in @restaurants do %>
<%= restaurant.reviews.count %>
<% end %>
--
推荐阅读
您最好阅读 Rails beginner guide关于如何使其正常工作。这基本上就是 Rails 的用途;)
关于javascript - 如何动态更新其他页面的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23974557/