如何在 html 中引用我的 ruby 代码
How to href my ruby code in an html
目前我的 html 中有下面的代码,它是通过电子邮件发送的。我想让它在这里说成 hyperlink。我已经看到并知道如何做 link_to
,但我认为这不适用于 html 格式,或者如果可以,我不确定如何正确地做到这一点。
此代码使用参数将用户定向到我的网络应用程序中的 link。
<%=landlord_page_url(@user)%>
如有任何帮助或见解,我们将不胜感激。
你可以做到这一点,你只需要supply a host to use to generate the URL。
我认为最简单的方法是使用这样的东西:
application.rb
config.action_mailer.default_url_options = {
host: "#{ secrets.uri['host'] }#{ ":#{ secrets.uri['port'] }" if secrets.uri['port'].present? }",
protocol: secrets.uri['protocol'] }
secrets.yml
shared: &shared
uri:
protocol: http
host: localhost
port: 3000
development:
<<: *shared
test:
<<: *shared
production:
uri:
protocol: <%= ENV['URI_PROTOCOL'] %>
host: <%= ENV['URI_HOST'] %>
port: <%= ENV['URI_PORT'] %>
好的,假设您有一个名为 MyMailer 的 ActionMailer,只有一个方法 send_link。就像您对控制器操作所做的那样,在 send_link 方法中设置任何实例变量,以供电子邮件视图用于呈现。
app/mailers/my_mailer.rb
class MyMailer < ActionMailer::Base
default from: 'myemail@mydomain.com'
def send_link(user, host)
@user = user
@host = host
mail(to: user.email, subject: "Here is your link")
end
end
接下来为此创建一个视图,就像您为控制器操作视图所做的那样,并使用任何必要的 erb 编写您的 html。
app/views/my_mailer/send_link.erb
<p>Dear <%= @user.forename %>,</p>
<p>Here is your link</p>
<p><%= link_to 'Click Me', landlord_page_url(@user, host: @host) %></p>
大功告成。
目前我的 html 中有下面的代码,它是通过电子邮件发送的。我想让它在这里说成 hyperlink。我已经看到并知道如何做 link_to
,但我认为这不适用于 html 格式,或者如果可以,我不确定如何正确地做到这一点。
此代码使用参数将用户定向到我的网络应用程序中的 link。
<%=landlord_page_url(@user)%>
如有任何帮助或见解,我们将不胜感激。
你可以做到这一点,你只需要supply a host to use to generate the URL。
我认为最简单的方法是使用这样的东西:
application.rb
config.action_mailer.default_url_options = {
host: "#{ secrets.uri['host'] }#{ ":#{ secrets.uri['port'] }" if secrets.uri['port'].present? }",
protocol: secrets.uri['protocol'] }
secrets.yml
shared: &shared
uri:
protocol: http
host: localhost
port: 3000
development:
<<: *shared
test:
<<: *shared
production:
uri:
protocol: <%= ENV['URI_PROTOCOL'] %>
host: <%= ENV['URI_HOST'] %>
port: <%= ENV['URI_PORT'] %>
好的,假设您有一个名为 MyMailer 的 ActionMailer,只有一个方法 send_link。就像您对控制器操作所做的那样,在 send_link 方法中设置任何实例变量,以供电子邮件视图用于呈现。
app/mailers/my_mailer.rb
class MyMailer < ActionMailer::Base
default from: 'myemail@mydomain.com'
def send_link(user, host)
@user = user
@host = host
mail(to: user.email, subject: "Here is your link")
end
end
接下来为此创建一个视图,就像您为控制器操作视图所做的那样,并使用任何必要的 erb 编写您的 html。
app/views/my_mailer/send_link.erb
<p>Dear <%= @user.forename %>,</p>
<p>Here is your link</p>
<p><%= link_to 'Click Me', landlord_page_url(@user, host: @host) %></p>
大功告成。