调试文件以便在Rails上创建确认页面ruby

时间:2018-07-13 09:35:50

标签: ruby-on-rails ruby

我还是刚接触红宝石。我需要创建一个显示所有数据的确认页面。

这是我的表格

<%= form_tag(email_path, method: :post ) do %>
  <dl class="cf">
    <dt class="required">name</dt>
    <dd><%= text_field_tag(:name, "", class: 'input_text full') %></dd>
  </dl>
  <dl class="cf">
    <dt class="required">company</dt>
    <dd><%= text_field_tag(:company, "", class: 'input_text full') %></dd>
  </dl>
  <dl class="cf">
    <dt class="required">tel</dt>
    <dd><%= text_field_tag(:tel, "", class: 'input_text tel') %></dd>
  </dl>
  <dl class="cf">
    <dt class="required">email</dt>
    <dd><%= text_field_tag(:email, "", class: 'input_text email') %></dd>
  </dl>
  <dl class="cf">
    <dt class="">commant</dt>
    <dd><%= text_area_tag(:commant, "", class: 'textarea') %></dd>
  </dl>
  <ul class="form_btn cf">
    <li class="submit"><%= submit_tag(t('.ultra_tech_form_title').html_safe) %></li>
  </ul>

  <% end %>

这是我的路线

get 'email',  to: 'pages#email'
post 'email', to: 'pages#email_confirm'

这是我的控制器

def email; end

  def email_confirm
    render plain: params[:post].inspect
  end

但是似乎我调试失败。如何调试数据?

1 个答案:

答案 0 :(得分:0)

错误的地方render plain: params[:post].inspect。您没有键:post的任何参数。因此,render plain: params.inspect会很好用。

关于这样做的理由:没有理由。您可以安装gem'pry-rails'或仅从日志文件或控制台中的实时日志中读取传入的参数。例如:

Started POST "/email" for ....
Processing by PagesController#email_confirm as HTML
  Parameters: {...}

您还可以使用Rails默认gemset中包含的byebug:

def email_confirm
  byebug
  ...
end

在此位置,此时您将在控制台中具有所有代码状态的irb模式。

More about debugging in rails