代码之家  ›  专栏  ›  技术社区  ›  Obromios

如何使用带有简单表单的输入html的帮助器方法

  •  1
  • Obromios  · 技术社区  · 7 年前

    我想使用助手方法更改简单表单输入选择元素的id,即。

    <%= f.input :no_players, collection: (0..4), input_html: { id_for_trigger } %>
    

    其中helper方法是

    def id_for_trigger
        return unless @select_trigger
        'id: :no_players_trigger'
    end
    

    但这会给出以下错误消息

    syntax error, unexpected '}', expecting =>
    input_html: { id_for_trigger }  );
    

    我该如何解决这个问题?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Mark Merritt    7 年前

    大括号表示需要传入散列。试试这个。。。

    input_html: { id: id_for_trigger }
    

    :input_html 设置html属性,因此需要指定要设置的属性。

    因此,如果是这种情况,你的助手应该是。。。。

    def id_for_trigger
      return 'your_default_id' unless @select_trigger
      'no_players_trigger'
    end
    

    your_default_id 是select元素通常具有的id。通过这种方式,任何其他使用css或javascript的页面都可以附加到 您的\u默认\u id 不会受到影响。