Bootstrap-form gem,奇怪的错误

时间:2014-08-16 22:53:04

标签: ruby-on-rails ruby twitter-bootstrap

以下是使用bootstrap-form gem for rails创建的表单的代码。

<%= bootstrap_form_tag(user_sessions_path) do |f| %>
  <div class="field">
    <%= f.label_tag :email %><br />
    <%= f.text_field_tag :email %>
  </div>
  <div class="field">
    <%= f.label_tag :password %><br />
    <%= f.password_field_tag :password %>
  </div>
  <div class="actions">
    <%= f.submit_tag "Login" %>
  </div>
<% end %>

这会抛出一个错误:在包含用户会话路径的表单的第一行上没有将符号隐式转换为字符串。不知道为什么会发生这种情况

1 个答案:

答案 0 :(得分:6)

我相信你必须明确url。像这样:

<%= bootstrap_form_tag(url: user_sessions_path) do |f| %>
  <div class="field">
    <%= f.label_tag :email %><br />
    <%= f.text_field_tag :email %>
  </div>
  <div class="field">
    <%= f.label_tag :password %><br />
    <%= f.password_field_tag :password %>
  </div>
  <div class="actions">
    <%= f.submit_tag "Login" %>
  </div>
<% end %>

检查source code。您可以看到bootstrap_form_tag方法的方式,需要Hash参数:

def bootstrap_form_tag(options = {}, &block)
  options[:acts_like_form_tag] = true

  bootstrap_form_for("", options, &block)
end