Как передать link_to_remote динамический URL в рельсах? - PullRequest
0 голосов
/ 10 сентября 2010

Я использую link_to_remote и хочу передать следующее:

<%= link_to_remote "Skip Remote",
          :url => url ,
          :update => "update-area-#{contact.id}-#{next_todo.id}" %>

Где пример URL будет:

skip_contact_email_url(contact, email)

где контакт - это объект для модели. Контакт, а электронная почта - это объект для модели электронной почты.

Но иногда URL-адрес - это skip_contact_letter_url, skip_contact_call_url и так далее

Вот как я пытался это сделать, но это не работает:

<% next_todo = contact.next_todo %>
<% url = "skip_contact_#{next_todo.class.name.tableize.singularize}_url" %>
<% url = url + "(#{contact}, #{next_todo})" %>

Он правильно выполняет первую часть URL (например, skip_contact_email_url), но не передает объект. На самом деле это выглядит как объект в URL.

Что мне делать?

1 Ответ

1 голос
/ 10 сентября 2010

Вам нужно оценить генерацию вашего метода.

<% next_todo = contact.next_todo %>
<% url = "skip_contact_#{next_todo.class.name.tableize.singularize}_url" %>
<% url = send(url, contact, next_todo) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...