質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

1201閲覧

投稿と投稿の間に広告を挿入したい

828kk88

総合スコア61

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2017/04/14 13:59

現在掲示版のようなサイトをつくっていて上から順に投稿が表示されるようになっているのですが、

投稿
投稿
広告
投稿
投稿
広告
投稿.....

と広告を挿入したいのですがどうすれば良いのかがわかりません。

positing_controller.rb def index @q = Posting.search(params[:q]) @postings = @q.result(distinct: true).order("updated_at DESC").page(params[:page]).per(10) end
index.html.erb <% @postings.each do |posting| %> <div class="post post-primary"> <div class="post-heading "> <h3 class="post-title"> <%= link_to posting.title, "/postings/#{posting.id}", method: :get %> </h3> </div> <div class="post-body"> <div class="prof"> <%= posting.name%>/<%= posting.sex%>/<%= posting.age%>/<%= posting.prefecture%> </div> <hr> <div class="text"> <%= truncate(simple_format(h(posting.text)), length: 500,escape:false) %> </div> <p class="tuduki"><%= link_to "続きを読む", "/postings/#{posting.id}", method: :get %></p> <hr> <%= posting.created_at.strftime("%Y-%m-%d %H:%M:%S")%> / Comment:(<%= posting.comment%>) <%= link_to "返信", "postings/#{posting.id}/comments/new", method: :get,:class =>'btn btn-primary btn-sm',:style=>"margin-right:5px"%><%= link_to "削除", "postings/#{posting.id}/delete", method: :get,:class =>'btn btn-default btn-sm' %> </div>

コントローラーとhtmlはこんな感じです。
それと広告のパターンを何種類か用意しておいてランダムで表示させるようにしたいです。
どうすれば実現できるでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

advertisement ad_url:string image_url:string
見たいなのを作って
@ads=Advertisement.all

ruby

1 <% @postings.each_slice(2) do |postings| %> 2 <% postings.each do |posting| %> 3 <div class="post post-primary"> 4 <div class="post-heading "> 5 <h3 class="post-title"> <%= link_to posting.title, "/postings/#{posting.id}", method: :get %> </h3> 6 </div> 7 8 <div class="post-body"> 9 <div class="prof"> 10 <%= posting.name%>/<%= posting.sex%>/<%= posting.age%>/<%= posting.prefecture%> 11 </div> 12 <hr> 13 <div class="text"> 14 <%= truncate(simple_format(h(posting.text)), length: 500,escape:false) %> 15 </div> 16 17 <p class="tuduki"><%= link_to "続きを読む", "/postings/#{posting.id}", method: :get %></p> 18 19 <hr> 20 <%= posting.created_at.strftime("%Y-%m-%d %H:%M:%S")%> / Comment:(<%= posting.comment%>21<%= link_to "返信", "postings/#{posting.id}/comments/new", method: :get,:class =>'btn btn-primary btn-sm',:style=>"margin-right:5px"%><%= link_to "削除", "postings/#{posting.id}/delete", method: :get,:class =>'btn btn-default btn-sm' %> 22 </div> 23<% end %> 24<% ad=@ads.sample %> 25<div><%= link_to(image_tag(ad.image_url),ad.ad_url)%></div>

とやればいいと思いますよ。
image_urlはroot/publicからの相対pathです。

投稿2017/04/15 05:54

moke

総合スコア2241

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

828kk88

2017/04/15 12:37

だいたい理想どおりに出来たのですが、なぜかページネーションの下にも広告が入ってしまいます。 どうにかならないでしょうか?
moke

2017/04/15 13:06

全部コードを見せていただかないとなんとも
828kk88

2017/04/15 15:03

<% @postings.each_slice(2) do |postings| %> と <% postings.each do |posting| %>の間に入れることで解決できました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問