Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jQuery将控制台日志输出到HTML页面_Jquery_Ruby On Rails - Fatal编程技术网

如何使用jQuery将控制台日志输出到HTML页面

如何使用jQuery将控制台日志输出到HTML页面,jquery,ruby-on-rails,Jquery,Ruby On Rails,我在ruby上有一些方法,可以将一些消息放入控制台。 然后我需要将这些消息输出到我的html页面。 我使用form_标记获取此方法的数组,并将其发送到我的控制器(使用jQuery for submit按钮) show.html.erb <% provide(:title, 'Test Run') %> <h1>Test Run</h1> <p>here will be console.log</p> <a href="/te

我在ruby上有一些方法,可以将一些消息放入控制台。 然后我需要将这些消息输出到我的html页面。 我使用form_标记获取此方法的数组,并将其发送到我的控制器(使用jQuery for submit按钮)

show.html.erb

<% provide(:title, 'Test Run') %>
<h1>Test Run</h1>

<p>here will be console.log</p>


<a href="/testrun">New run</a>

知道将表单提交上的参数发送到控制器操作没有问题,您可以更新控制器和视图,如下所示,以显示用户选择的方法的结果:

测试运行控制器.rb

class TestRunController
show.html.erb

<% provide(:title, 'Test Run') %>
<h1>Test Run</h1>

<p>here will be console.log</p>


<a href="/testrun">New run</a>
测试运行

注意:我正在使用而不是
send
,因为它可以防止您意外调用私有方法


另请参阅文档。

您好,欢迎来到StackOverflow。请花些时间阅读帮助页面,特别是命名和的部分。更重要的是,请阅读。您可能还想了解。因此,您看到的是一组方法名称,每个名称对应一个复选框。用户选择一个或多个方法名,它们被提交到某个控制器操作,请求的方法被执行,它们返回应该在表单上显示的内容。对吗?@JagdeepSingh是的。这正是我想要的need@JagdeepSingh完成that@JagdeepSingh我加了那个,但我不确定它是否有用。谢谢你们,但对我来说这看起来不是解决方案。该代码只返回所选方法的名称。我需要在一个页面上显示所有控制台信息。我在方法中使用了许多“put”。尝试将
放在
@输出之前。每个
循环并在视图中显示它返回的内容。{“method1”=>nil}method1我所有的方法都返回nil,但在控制台中我得到了更多信息。因此,您的方法返回
nil
。显示结果的逻辑是正确的。您需要确保您的方法返回可见的内容。您在控制台中看到了哪些信息?你说的是数据库查询吗?
class TestRunController  < ApplicationController
  def new
  end

  def show
    @test = Case.new
    testcases = params[:testcase]
    testcases.each do |testcase|
      @test.send testcase
    end
  end
end
Rails.application.routes.draw do
  match '/testrun',    to: 'test_run#show',      via: 'post'
  match '/testrun',    to: 'test_run#new',          via: 'get'
end
<% provide(:title, 'Test Run') %>
<h1>Test Run</h1>

<p>here will be console.log</p>


<a href="/testrun">New run</a>
Started POST "/testrun" for 127.0.0.1 at 2018-08-21 07:12:41 +0300
Processing by TestRunController#show as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"h+zZOjeI4Ou2xiDlr3XOAuOTbNVg2ipS0Y05NoEIq6t5txz/sOjh+Zp4+8ri5TNK7HqDo2RY2mE6QpPtwjnwWg==", "testcase"=>["method1"]}
login successfully
method1 - Success
  Rendering test_run/show.html.erb within layouts/application
  Rendered test_run/show.html.erb within layouts/application (0.5ms)
  Rendered layouts/_shim.html.erb (0.3ms)
  Rendered layouts/_header.html.erb (0.7ms)
  Rendered layouts/_footer.html.erb (0.6ms)
Completed 200 OK in 9453ms (Views: 31.0ms | ActiveRecord: 0.0ms)
class TestRunController  < ApplicationController
  def show
    @test = Case.new
    @output = params[:testcase].each_with_object({}) do |method_name, o|
                o[method_name] = @test.public_send(method_name)
              end
  end
end
<h1>Test Run</h1>

<% @output.each do |method_name, result| %>
  <div>
    <p><%= method_name %></p>
    <p><%= result %></p>
  </div>
<% end %>