ruby-on-rails - 如何修复运行 Test::Unit 测试时产生的警告

标签 ruby-on-rails ruby forms

我在我的 Test::Unit 输出中收到此警告...

/usr/local/bin/ruby -I.:lib:test -rtest/unit -e "%w[test/functional/sessions_controller_test.rb].each { |f| require f }" | unit_diff -u
Loaded suite -e
Started
.../Users/ethan/project/mtc/contactdb/app/views/sessions/new.html.haml:30: warning: multiple values for a block parameter (0 for 1)
    from /usr/local/lib/ruby/gems/1.8/gems/haml-2.0.8/lib/haml/helpers/action_view_mods.rb:142
[...repeated eight times...]

我认为相关的部分是:

/contactdb/app/views/sessions/new.html.haml:30: warning: 
  multiple values for a block parameter (0 for 1)

查看我的 Haml 文件,我已将其缩小到这个片段(我认为)...

- form_tag( recover_login_path, :method => 'get') do |f|
  %p
    = text_field_tag :email, '', { :size => '35', :maxlength => '255' }

recover_login 是一个命名路由。

我查看了 form_tag 的 API 文档。看起来我的代码遵循了他们在示例中的内容。

最佳答案

form_tag 仅在您使用模型对象时传入表单构建器对象 |f|

form_tag @user, :method => :get do |f|
  f.text_field :first_name
end

但是在没有传入模型对象的情况下构建自己的表单路径, block 参数没有被传入或使用。

form_tag user_path(@user.id), :method => :get do
  text_field :user, :first_name
end

关于ruby-on-rails - 如何修复运行 Test::Unit 测试时产生的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/563231/

相关文章:

ruby-on-rails - 正确的 $resource POST 参数到 Rails

ruby-on-rails - 如何在 RoR 中上传文本文件并将内容解析到数据库中

javascript - 使用html中的链接调用JS函数

javascript - 如何向数字字段添加最小和最大长度验证?

ruby - 正则表达式有助于跳过第一次出现的特殊字符,同时允许后面出现特殊字符但不允许空格

python - Django Crispy Forms 添加 HTML 属性

ruby-on-rails - 在 Rails 进程结束后终止它

ruby-on-rails - Rails 3.2 具有相同模型名称的多个数据库连接

ruby-on-rails - Rails 移动 API

sql - Rails 搜索数组列和 SQL 注入(inject)