Синтаксис, который вы ищете, задокументирован :
text_area_tag (имя, содержимое = ноль, параметры = {})
Проблема с вашим кодом состоит в том, что с учетом трех аргументов text_field_tag
ожидает, что третий будет хэш, но params[:sources]
дает nil
. Вы ожидаете, что это будет иметь другое значение? Где установлен params
и что он содержит?
Если вы знаете, что params[:sources]
иногда будет содержать хэш, а в других случаях будет nil
(т.е. не задан), то вы можете использовать, например ,::1019*
<%= text_field_tag :sources, "Test", params[:sources] || {} %>
params[:sources] || {}
будет вычислять пустой хэш ({}
) всякий раз, когда params[:sources]
ложно (например, nil
), что позволит избежать ошибки.