【问题标题】:formtastic prefixes input ids with the model name - can we override this?formtastic 为输入 ID 加上模型名称前缀 - 我们可以覆盖它吗?
【发布时间】:2017-03-21 17:20:41
【问题描述】:

我有 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 的开头添加额外的单词,它不允许我们更改模型名称位。

【问题讨论】:

  • 我似乎记得我们找到了答案,但它真的很难搜索,因为它是一些两个字母的关键字,如 :on:in。抱歉,我没有答案。

标签: formtastic


【解决方案1】:

您在上面的评论中很接近,可以使用:as 选项来执行此操作。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    • 2011-05-06
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多