如何使用Ruby on Rails打印控制器中的数据?

问题描述 投票:0回答:3

我正在从互联网上学习 Ruby on Rails 并构建一个小项目。我发现了一些问题。我在谷歌中搜索以在控制器中打印我的数据。所有人都建议我使用

puts
但我尝试过
puts
没有得到任何输出。这是我的代码:

users_controller.rb

def index
  @categories = Category.includes(:galleries).where(:is_active=> 1)

  @categories.each do |catt|
    puts catt.name
  end
end

另外,我在上一个问题中得到了一些评论,他们建议我使用

render
,所以我尝试了这段代码:

  @categories.each do |catt|
    render text:catt.inspect
  end
  return false

我收到使用错误消息

render

在此操作中多次调用渲染和/或重定向。请注意,您只能调用渲染或重定向,并且每个操作最多调用一次。另请注意,重定向和渲染都不会终止操作的执行,因此如果您想在重定向后退出操作,则需要执行“redirect_to(...) and return”之类的操作。

你能告诉我如何在我的控制器中获取字符串和数组记录吗?

ruby-on-rails ruby ruby-on-rails-3
3个回答
1
投票

您可以将该值发送到服务器的日志文件:

@categories.each do |catt|
  Rails.log.debug "Category Name: #{catt.name}" 
end

您可以使用

tail
打开监控日志文件的更改:

$ tail -f log/development.log

0
投票

您可以创建一个空视图,在其中使用 put 命令打印输出变量。


0
投票
def index
  @categories = Category.includes(:galleries).where(:is_active=> 1)

  @categories.each do |catt|
    catt.name
    Rails.logger.info "This is cat name: #{catt.name}"
  end
end

您可以使用logger.info并检查日志

© www.soinside.com 2019 - 2024. All rights reserved.