我已经将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位。
答案 0 :(得分:1)
您已接近上述评论,可以使用:as
选项执行此操作。
<%= semantic_form_for @post, as: "article" do |f| %>
<%= form.input :title %> <!-- #article_title -->
<% end %>