编辑和保存文件后,Simple Form未发现任何输入错误



我正试图用Simple Form For实现一个自定义的Fake Input(在本文中找到)。这是我的代码:

<%= simple_form_for :results, { url: admin_add_sites_path } do |f| %>
  <%= f.input :no_merchandisers, as: :fake %>
  <%= f.input :site_codes_to_add, as: :fake %>
  <%= f.submit "Submit" %>
<% end %>

当我第一次实现输入时,我收到了一个错误:

No input found for fake

这个堆栈溢出问题的答案告诉我重新启动服务器。这暂时为我修复了上述问题。

但是,每当我编辑和保存一个文件时(这是在编辑控制器文件时发生的),错误就会再次出现,我必须重新启动服务器才能继续。其他人以前经历过这种情况吗?有解决办法吗?

对于这个问题,我经常使用一些解决方案(尽管我不使用Simple Form)。首先是使用value: nil。所做的只是覆盖默认的value方法,该方法通常会查找模型属性。它仍然与表单的其余部分一起提交。

<%= f.input :no_merchandisers, value: nil %>

第二种解决方案是使用"标记"输入,这取决于您的实际输入:

<%= text_field_tag "results[no_merchandisers]", value_variable %>

或者:

<%= check_box_tag "results[no_merchandisers]", value_variable, checked_variable %>

现在,这两种解决方案都没有修复as: :fake问题,只是完全替换了它。我不熟悉SimpleForm,所以我不知道额外的代码是如何工作的。

相关内容

  • 没有找到相关文章

最新更新