Как мне использовать метод .send для динамического класса, чтобы перейти к определенному пути в Rails? - PullRequest
0 голосов
/ 07 октября 2010

Я использую следующее:

send("#{done_event.class.name.tableize}_path", done_event.id)

Примером done_event является конкретный экземпляр ContactEmail.

Я хотел бы, чтобы это представляло путь contact_email_path (done_event.id), которыйбудет переводить что-то вроде contact_emails / 1

Однако, результат, который я получаю, contact_emails.1

Не уверен, что делать ...?

Я также получаю эту ошибкукогда я просто пытаюсь передать объект:

http://localhost:3000/contact_calls.%23%3Ccontactcall:0x9fefb80%3E

Ответы [ 3 ]

1 голос
/ 15 октября 2010

Это, кажется, делает трюк:

send("#{done_event.class.name.tableize.singularize}_path", done_event)

хотя, если полиморфный сработал, я бы хотел это использовать.

0 голосов
/ 07 октября 2010

Попробуйте polymorphic_url вот так

polymorphic_url([:contact_emails, done_event])

РЕДАКТИРОВАТЬ: Так как вы не знаете, класс 'done_event', все, что вам нужно сделать, это пройти как это.

polymorphic_url(done_event)
0 голосов
/ 07 октября 2010

Может быть что-то вроде:

eval("#{done_event.class.to_s.underscore}_path(done_event)")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...