我正在从互联网上学习 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”之类的操作。
你能告诉我如何在我的控制器中获取字符串和数组记录吗?
您可以将该值发送到服务器的日志文件:
@categories.each do |catt|
Rails.log.debug "Category Name: #{catt.name}"
end
您可以使用
tail
打开监控日志文件的更改:
$ tail -f log/development.log
您可以创建一个空视图,在其中使用 put 命令打印输出变量。
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并检查日志