Форматирование Rails 4 с тонкой ошибкой

у меня есть этот простой код erb, который отлично работает, вместе с моим файлом i18n.yml. Идея состоит в том, чтобы получить страницу edit.html.erb клиента, получить заголовок этой страницы в моем файле en.yml и передать этот заголовок в переменную @client.fullname. Вот так:

<h1><%= t('client.edit.title'), :current_client => @client.fullname %></h1>

Сейчас я занимаюсь переводом своих erb-файлов в слим. Таким образом, результат этой строки кода

h1 = t('client.edit.title'), :current_client => @client.fullname

Но он не передаст переменную в файл en.yml. Вместо этого он выдает эту ошибку:

/app/views/clients/edit.html.slim:1: syntax error, unexpected ',', expecting ')' ...tty2 = (t('client.edit.title'), :current_client => @client.f... ... ^

Кто-нибудь знает, что я делаю неправильно здесь?


person Jeanmichel Cote    schedule 21.04.2014    source источник
comment
Единственный способ, которым я мог заставить его работать относительно, - это передать параметр :current_client со строкой идентификатора перевода: = t('client.edit.title', :current_client =› @client.fullname)   -  person paulorcdiniz    schedule 22.04.2014
comment
Спасибо, у вас тоже получилось!   -  person Jeanmichel Cote    schedule 25.04.2014


Ответы (2)


Параметры хеш-параметров должны быть переданы в скобках вызова метода, например

h1 = t('client.edit.title', :current_client => @client.fullname)

Не уверен, почему это сработало бы в ERB, но это выглядит не так, как написано.

Вы также можете удалить скобки вообще

h1 = t 'client.edit.title', :current_client => @client.fullname
person Carlos Ramirez III    schedule 23.04.2014

Пожалуйста, попробуй:

h1
  = t('client.edit.title'), :current_client => @client.fullname
person paulorcdiniz    schedule 22.04.2014