在这里,我发现了类似的问题Rails 3 link_to inside a string,但不知何故它不适用于我的场景。
我有一个@matter
对象,其中包含以下网址。
@matter = url_for(:controller => 'news', :action => 'news_view',:id => @news.token)
我正在尝试将此链接放在文本中,这可以通过简单地添加“#{@ matter}”来完成。但是我想把整个链接的别名设置为'VIEW NEWS',当用户点击它时,它会重定向到原始网址。
使用此我必须发送到我的链接邮件和移动文本。我得到它用于发送电子邮件,但无法用于发送文本,因为:body
需要消息API的字符串格式。
我已经按照上面提到的SO帖子,但它们根本不适合我。
"\"#{@news.sender.first_name} #{@news.sender.last_name} just sent you a invite.\" Click on link raw('<%= link_to 'View Invite', @method) %>') ")
如果可能的话,我可以在<a href ="#{@matter}", view invite </a>
之类的字符串中使用html。
需要帮助。
我正在使用twilio使用以下API发送文字。
@client = Twilio::REST::Client.new @account_sid, @auth_token
@client.account.messages.create(:from => '+123456789', :to => '+1'+@phone,
:body => "#{@matter}" )
答案 0 :(得分:7)
您可以执行以下操作:
"#{@news.sender.first_name} #{@news.sender.first_name} just sent you an invite."
"Click on link to #{link_to 'View invite', @matter}".html_safe
如果在您的控制器中使用,您可以访问view_context
:
def show
# ...
@message = "#{@news.sender.first_name} #{@news.sender.first_name} just sent you an invite."
@message << "Click on link to #{view_context.link_to 'View invite', @matter}"
@client = Twilio::REST::Client.new @account_sid, @auth_token
@client.account.messages.create(:from => '+123456789', :to => '+1'+@phone,
:body => @message.html_safe )
end
答案 1 :(得分:0)
由于隐私问题,我们似乎无法在短信中包含超链接。这篇文章是这么说的 create hyperlink in sms in iPhone。这就是为什么虽然我尝试了MrYoshiji的答案,但我并没有像我想的那样正确地获得文本。