10843


Facebook や Twitter のよくあるシェアボタンを作成しています。

[ここ](http://qiita.com/AkiraAlex/items/f224f8ee55a50ffe1a3f)などを参考にすると  
Twitter のシェアボタンを実装する場合は

[code]

    <a class="twitter btn" href="http://twitter.com/share?url=[共有したいURL]&text=[任意のテキスト]&via=[ツイート内に含まれるユーザー名]&related=[関連アカウント]">tweetする</a>
    
[/code]

と記載されているので、これを erb で記述しようとしているのですが

[code]

    <%= link_to "https://twitter.com/intent/tweet?source=#{ request.url }&text=#{ ここの [任意のテキスト] 部分に今いるページの <title> タグの中身を入れたい }&via=foobar" %>
    
[/code]

といった感じで、共有したい URL の取得方法は分かったのですが  
タグの中身の取得方法が分かりません…。

他にもっと効率的な手法などあれば、ご教示いただきたいです。  
よろしくお願いします。


CC BY-SA 3.0
2015-06-01T10:13:35.123
10841
2015-06-01T10:55:16.300
9617
question
javascript ruby-on-rails ruby erb
Rails で今いるページの <title> の中身を取得する方法


provideヘルパーを使ってはどうでしょうか？

まず、ページのタイトルを provideとyieldを使って表示するようにします。

views/layouts/application.html.erb

[code]

    <!DOCTYPE html>
    <html>
    <head>
      <title><%= yield :title %></title>
      ...
    </head>
    <body>
    
      <%= yield %>
    
    </body>
    </html>
    
[/code]

views/static_pages/home.html.erb

[code]

    <% provide :title, "ホーム" %>
    
    <h1><%= yield :title %></h1>
    <p>かくかく、しかじか</p>
    
[/code]

このようにすると、`<%= yield :title %>`を使うことでtitleを取得できます。

[code]

    <a class="twitter btn" href="http://twitter.com/share?url=<%= request.url %>&text=<%= yield :title >&via=foobar>tweetする</a>
    
    <%= link_to "https://twitter.com/intent/tweet?source=#{ request.url }&text=#{ yield :title }&via=foobar" %>
    
[/code]


CC BY-SA 3.0
2015-06-01T10:55:16.300
10843
2015-06-01T10:55:16.300
9529
10841
answer