0

Rails 3.2.14 アプリに取り組んでおり、アプリケーション内のページへのリンクを追加したいと考えています。

config/environments/*.rbファイルにセットアップがあります

config.action_mailer.default_url_options = { :host => 'example.com' }

次のようなものを使用して、メールテンプレートにリンクを追加できました

<%= link_to "Group name", group_url(@group) %>

しかし、電話できるようにオプションを提供する方法があるかどうか疑問に思っていました

<%= link_to "Group name", @group, ... %>

ビュー テンプレートで行うように。ActionMailer がホストを識別し、href.

4

2 に答える 2

0

ご存じのとおりlink_to(name = nil, options = nil, html_options = nil, &block)、2 番目の引数 ("href") でオプション ハッシュを受け取ります。

ソースコードが表示された場合:

def link_to(name = nil, options = nil, html_options = nil, &block)
  html_options, options = options, name if block_given?
  options ||= {}

  html_options = convert_options_to_data_attributes(options, html_options)

  url = url_for(options)
  html_options['href'] ||= url

  content_tag(:a, name || url, html_options, &block)
end

これらのオプションはメソッドに渡されますurl_for。ドキュメント内:

デフォルトでは :only_path が true であるため、「example.com/controller/action」のような完全修飾 URL ではなく、相対的な「/controller/action」が取得されることに注意してください。

だからあなたはできる:

<%= link_to "Group name", path: @group, only_path: false, ... %>

_urlただし、これはヘルパー メソッドを使用するよりも少し冗長です。履歴書では、答えは次のとおりです。ヘルパーメソッドで単純に使用@groupする方法はありません..link_to

于 2013-10-10T00:02:41.063 に答える