Что рубин эквивалентен из getattr Python

Вам необходимо импортировать TranslateModule в каждый модуль, в котором вы хотите использовать translate pipe.

import { TranslateModule } from '@ngx-translate/core';

   ...
   imports: [
     TranslateModule // do not call forRoot from any module other than AppModule
   ] 
   ...

11
задан Hamish Downer 27 April 2009 в 12:42
поделиться

4 ответа

Эквивалентное утверждение в Ruby:

date_wanted = :created_on
title_date = list_titles.send(date_wanted)
13
ответ дан 3 December 2019 в 07:14
поделиться

Вы можете добавить функцию к модели следующим образом

def get_date(date)
  return created_on if date == 'created'
  return updated_on
end
0
ответ дан 3 December 2019 в 07:14
поделиться

Ответ Мэтта верен для вашего точного вопроса, и я мог бы быть не в себе с пониманием вашей ситуации, но ...

Я бы передал весь пользовательский объект в частичное через хэш местных жителей.

render( 
  :partial => "shared/titles", 
  :object => @titles, 
  :locals => { :user => @user } 
)

Затем при частичном вызове вспомогательного метода для возврата правильной даты для каждого заголовка, что-то вроде:

<p><%= title_date_for_user(title, user) %></p>

Передайте пользователя и каждый титровальный объект вспомогательному методу.

def title_date_for_user(title, user)
  case user.date_i_like_to_see
  when "created_on"
    title_date = title.created_on
  when "updated_on"
    title_date = title.updated_on
  end
  return title_date.to_s(:short)
end

Метод date_i_like_to_see находится в модели User и возвращает строку ( made_on или updated_on ) на основе некоторой логики, специфичной для данного пользователя.

Этот подход убирает большую часть логики и сохраняет ваши вид красивый и чистый. Кроме того, это упрощает добавление дополнительных функций, специфичных для данного пользователя, позже.

0
ответ дан 3 December 2019 в 07:14
поделиться

Я думаю, что ответ на исходный вопрос - send:

irb(main):009:0> t = Time.new
=> Thu Jul 02 11:03:04 -0500 2009
irb(main):010:0> t.send('year')
=> 2009

send позволяет динамически вызывать для объекта метод с произвольным именем.

4
ответ дан 3 December 2019 в 07:14
поделиться
Другие вопросы по тегам:

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