我如何检查在 RoR 中提交表单时发生的情况?
How can I check what happens when I submit a form in RoR?
我的 lists_controller.rb
通过复制方法
提供 @list
和 @lists
def duplicate
@lists = List.includes(:list_fields, :user, :list_parts)
@list = List.new
respond_to do |format|
format.html
end
end
我的 duplicate.html.erb 文件中有一个表格。
<%= form_for( @list, :html => { :class => "formtastic normal", :id => "generator_form" }) do |f| -%>
<fieldset>
<ol>
<li>
<%= label_tag :list_source, "Available lists" %>
<%= select "list", "original_id", @lists.sort{|a,b| a.title <=> b.title}.collect{|p| [p.title[0,50]+"...", p.id] }, { :include_blank => "Please select a list" } %>
</li>
</ol>
</fieldset>
<p><%= f.submit "Duplicate" -%></p>
<% end -%>
select 助手给了我一个下拉菜单,我可以从中 select 一个列表。当我单击提交时,将创建一个新列表(从现有列表创建)并保存在我的数据库中,但我真的不知道提交时幕后发生了什么(单击“复制”)。我该如何检查?
只需使用 Rails 记录器。在开发环境中,当服务器为 运行
时,它会在终端中打印信息
还将日志写入文件。默认目的地是 log/<environment>.log
所以你可以使用tail
命令。例如在生产中实时读取输出
tail -f log/production.log
您还可以指定日志记录级别和设置日志消息格式
并且您可以像这样在您的代码中手动调用记录器
Rails.logger.info 'your message'
在日志中,您将看到请求的操作和控制器、表单中的参数、SQL-查询、呈现的内容或重定向的位置等。
中阅读更多内容
我的 lists_controller.rb
通过复制方法
@list
和 @lists
def duplicate
@lists = List.includes(:list_fields, :user, :list_parts)
@list = List.new
respond_to do |format|
format.html
end
end
我的 duplicate.html.erb 文件中有一个表格。
<%= form_for( @list, :html => { :class => "formtastic normal", :id => "generator_form" }) do |f| -%>
<fieldset>
<ol>
<li>
<%= label_tag :list_source, "Available lists" %>
<%= select "list", "original_id", @lists.sort{|a,b| a.title <=> b.title}.collect{|p| [p.title[0,50]+"...", p.id] }, { :include_blank => "Please select a list" } %>
</li>
</ol>
</fieldset>
<p><%= f.submit "Duplicate" -%></p>
<% end -%>
select 助手给了我一个下拉菜单,我可以从中 select 一个列表。当我单击提交时,将创建一个新列表(从现有列表创建)并保存在我的数据库中,但我真的不知道提交时幕后发生了什么(单击“复制”)。我该如何检查?
只需使用 Rails 记录器。在开发环境中,当服务器为 运行
时,它会在终端中打印信息还将日志写入文件。默认目的地是 log/<environment>.log
所以你可以使用tail
命令。例如在生产中实时读取输出
tail -f log/production.log
您还可以指定日志记录级别和设置日志消息格式
并且您可以像这样在您的代码中手动调用记录器
Rails.logger.info 'your message'
在日志中,您将看到请求的操作和控制器、表单中的参数、SQL-查询、呈现的内容或重定向的位置等。
中阅读更多内容