formtastic前缀使用模型名称输入id - 我们可以覆盖它吗?

时间:2017-03-21 17:20:42

标签: formtastic

我已经将js钩子连接到用于输入的formtastic生成的ID。输入ID的格式为MODELNAME_INPUTNAME。因为我们的页面分布在几个页面中,并且通常经过A / B测试,所以模型名称不断变化,例如来自" candidate_application_page3b"到" candidate_application_page1"。这意味着我们的JS代码需要大量流失,或者需要一层抽象来翻译ID。这两个都使JS难以维护。

我们想解决这个问题的方法是改变formtastic计算它的id名称的方式。

在formtastic中存在任何事情吗?如果我们可以覆盖它的首选项,将模型名称包含在semantic_form_for级别的输入ID中,那将是最简单的事情。 我们找到了:namespace参数,但是只在id的开头添加了其他单词,它不允许我们更改modelname位。

1 个答案:

答案 0 :(得分:1)

您已接近上述评论,可以使用:as选项执行此操作。

<%= semantic_form_for @post, as: "article" do |f| %>
  <%= form.input :title %> <!-- #article_title -->
<% end %>