Rails устанавливает значение динамического метода

Это также работает nicelly.

WC()->cart->total

0
задан user2012677 2 March 2019 в 03:34
поделиться

2 ответа

Используйте public_send, если вы хотите динамически вывести имя метода и вызвать его, но все же не хотите иметь проблемы с инкапсуляцией.

user = User.first
user.public_send(:first_name=, 'Ray')

Возможно, send также будет работать в приведенном выше коде, но не рекомендуется в большинстве случаев.

User.first.public_send(:first_name=, 'Ray') будет бесполезным, так как вы присваиваете значение объекту User, и этот метод установки не сохраняет значение.
Ваш объект не хранится ни в одной ссылке, поэтому вы потеряете объект, для которого вы выполнили операцию setter для first_name.

Возьмите его в переменную, как user & amp; затем выполните такие операции, чтобы у вас был трек, чтобы позже вы могли сохранить объект user , а также посмотреть, какие изменения вы внесли в эту переменную

0
ответ дан ray 2 March 2019 в 03:34
поделиться

Выяснил гораздо более простой метод.

User.first [: first_name] = "Джон"

0
ответ дан user2012677 2 March 2019 в 03:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: