0

我正在尝试使用 Simple Form For实现自定义假输入(在本文中找到)。这是我的代码:

<%= 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

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

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

4

1 回答 1

0

这个问题有一些我经常使用的解决方案(尽管我不使用简单形式)。首先是使用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问题,只是完全替换它。我不熟悉简单表单,所以我不知道附加代码将如何(或不会)工作。

于 2016-03-22T12:39:06.043 回答