我正在使用link_to_remote并希望传递以下内容:
<%= link_to_remote "Skip Remote",
:url => url ,
:update => "update-area-#{contact.id}-#{next_todo.id}" %>
如果网址的示例是:
skip_contact_email_url(contact, email)
其中contact是模型的对象Contact和Email是模型Email的对象。
但有时网址是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),但未传递该对象。它实际上看起来像是网址中的一个对象。
我该怎么办?
答案 0 :(得分:1)
您需要评估您的方法生成。
<% next_todo = contact.next_todo %>
<% url = "skip_contact_#{next_todo.class.name.tableize.singularize}_url" %>
<% url = send(url, contact, next_todo) %>