从控制器向 erb 显示结果

showing result to erb from controller

目前我正在与 Rails 合作。

我有 erb 表格,我想做的是显示函数的结果 在控制器中到 erb

def total_ratings
    total_ratings = 1000
    Score.where('ratings_count > ?', 0).each do |score|
      total_ratings += score.ratings_count
    end

    render total_ratings
end

在我得到 total_ratings 作为数字后,

我试图以 erb 形式显示这样的 total_ratings

<div class="page-header-description">ratings : <%= score_total_ratings_scoring_index_path %></div>

但是这样只打印出了路径,并没有打印出结果。我错过了哪一点?

将您的函数从控制器移动到辅助模块以在视图中呈现。

# app/helpers/application_helper.rb
module ApplicationHelper
  def total_ratings
    total_ratings = 1000
    Score.where('ratings_count > ?', 0).each do |score|
      total_ratings += score.ratings_count
    end

    total_ratings
  end
end

现在在视图中渲染它:

<div class="page-header-description">ratings : <%= total_ratings %></div>

阅读更多关于 Rails helpers