gpt4 book ai didi

ruby-on-rails - ActiveRecord::Relation 代码显示而不是预期数据

转载 作者:行者123 更新时间:2023-12-04 05:36:19 25 4
gpt4 key购买 nike

我试图在我的主页上显示评论列表,同时显示每条评论的评分。

我想要一个逗号分隔的列表,其中包含每个评论的不同评级(基于相关的 review_id);评级是 -5 到 5 的整数。加载页面时我得到的只是:

Review 1. #<ActiveRecord::Relation:0x007f9879749a50>
Review 2. #<ActiveRecord::Relation:0x007f9879749a50>
Review 3. #<ActiveRecord::Relation:0x007f9879749a50>
Review 4. #<ActiveRecord::Relation:0x007f9879749a50>
Review 5. #<ActiveRecord::Relation:0x007f9879749a50>

当我想看到这个时:
Review 1. 1, 5, 2, -3
Review 2. 2, -1
Review 3. 1, 1, 4, 5
Review 4. -5, -2, -3
Review 5. 1, 1, 3, 2, 1, 5, 3, 2

用户模型:
class User < ActiveRecord::Base
attr_accessible :name, :email, :password, :password_confirmation, :remember_me, :ratings_attributes, :reviews_attributes

has_many :reviews, dependent: :destroy
has_many :ratings, :through => :reviews, dependent: :destroy
accepts_nested_attributes_for :ratings, allow_destroy: true
accepts_nested_attributes_for :reviews, allow_destroy: true
end

审核模式:
class Review < ActiveRecord::Base
attr_accessible :content, :priority, :ratings_attributes
belongs_to :user
has_many :ratings
end

评级模型:
class Rating < ActiveRecord::Base
attr_accessible :rating_count, :review_id, :timestamp, :user_id

belongs_to :user
belongs_to :review
end

家庭 Controller :
class HomeController < ApplicationController

def index
@reviews = current_user.reviews.order("position")
@ratings = Rating.where(params[:review_id])
@ratings_list = Rating.find(:all)
end

index.html.erb
<h1>Listing reviews</h1>
<p id="notice"><%= notice %></p>
<br />
<div class="span12">

<ul id="reviews" data-update-url="<%= sort_reviews_url %>">
<% @reviews.each do |review| %>
<%= content_tag_for :li, review do %>
<span class="handle">[drag]</span>
<%= link_to h(review.content), review %>

<!-- this is where i want a comma separated list of the different ratings attached to each review; ratings are integers of -5 to 5. -->
<%= @ratings %>

<% end %>
<% end %>
</ul>

<br />
</div>
<!-- for debugging that i'm actually getting through to the ratings data -->
<%= @ratings_list %>
<br />

<%= link_to 'New Review', new_review_path %>

对于我的一生,我无法弄清楚我是在 Controller 中还是在 html 中做错了什么。

每条评论旁边显示的所有内容如下:
#<ActiveRecord::Relation:0x007f987a9d7618>

提前致谢……如果您在乎的话,我在外面工作,一只 bug 飞到了我的 Nose 上。

最佳答案

您可能正在渲染实际的评论对象,而不是它们的字符串表示。这样的事情应该在 View 中工作:

<%= @ratings.map { |rating| rating.rating_count }.join(", ") %>

这会将您的评分集合转换为 rating_counts 的集合,然后用逗号将它们连接起来。

不过,我无法帮助解决 Nose 上的 bug :)

关于ruby-on-rails - ActiveRecord::Relation 代码显示而不是预期数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15734865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com