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

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

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

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

Q&A

解決済

1回答

2102閲覧

partialがなぜか2回読み込まれる

hrc

総合スコア55

Ruby on Rails

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

0グッド

0クリップ

投稿2016/07/27 22:50

Railsのアプリを作成しています。条件によってGoogleMapのJSを表示させるようにテンプレートをPatialにして出し分けしています。

Viewのapplication.html.slimはこちらです。ここのif defined?(@temp)が該当箇所です。

slim

1doctype 5 2html(lang="en") 3 head 4 meta(charset="utf-8") 5 meta(http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1") 6 meta(name="viewport" content="width=device-width, initial-scale=1.0") 7 title= content_for?(:title) ? yield(:title) : "vegewel" 8 = csrf_meta_tags 9 / Le HTML5 shim, for IE6-8 support of HTML elements 10 /[if lt IE 9] 11 = javascript_include_tag "http://html5shim.googlecode.com/svn/trunk/html5.js" 12 = yield(:page_stylesheet) if content_for?(:page_stylesheet) 13 = stylesheet_link_tag "flatly", :media => "all" 14 = javascript_include_tag "application" 15 = if defined?(@temp) 16 = render :partial => @temp + '.html' 17 body 18 19 nav.navbar.navbar-default.navbar-fixed-top 20 .container-fluid 21 .navbar-header 22 button.navbar-toggle.collapsed data-target="#navbarEexample2" data-toggle="collapse" type="button" 23 span.sr-only Toggle navigation 24 span.icon-bar 25 span.icon-bar 26 span.icon-bar 27 a.navbar-brand href="/" 28 img alt="Vegewel" src="/logo4.png" style=("height: 30px;") 29 #navbarEexample2.collapse.navbar-collapse 30 ul.nav.navbar-nav 31 li 32 = link_to I18n.t('frontpage_by_area'), (url_for controller:'/area') 33 li 34 = link_to I18n.t('frontpage_by_restaurant'), (url_for controller:'/restaurant') 35 li 36 = link_to I18n.t('frontpage_by_menu'), (url_for controller:'/menu') 37 li 38 = link_to I18n.t('frontpage_by_genre'), (url_for controller:'/genre') 39 li 40 = link_to I18n.t('frontpage_by_restraunttype'), (url_for controller:'/restaurant_type' ) 41 p.navbar-text 42 = link_to 'JP', "/ja" 43 |  |  44 = link_to 'EN', "/en" 45 46 h3 aaa 47 - if user_signed_in? 48 | Logged in as 49 strong 50 = current_user.name 51 | . 52 = link_to 'Edit profile', edit_user_registration_path, :class => 'navbar-link' 53 | | 54 55 | | 56 = link_to "Logout", destroy_user_session_path, :method => :delete, :class => 'navbar-link' 57 - else 58 = link_to "Sign up", new_user_registration_path, :class => 'navbar-link' 59 | | 60 = link_to "Login", new_user_session_path, :class => 'navbar-link' 61 - if notice.present? 62 p.notice.alert.alert-info 63 = notice 64 - if alert.present? 65 p.alert.alert-warning 66 = alert 67 = yield 68 /! 69 | Javascripts 70 | \================================================== 71 /! Placed at the end of the document so the pages load faster 72 = javascript_include_tag "flatly" 73 = yield(:page_javascript) if content_for?(:page_javascript) 74 75 footer

呼ばれているテンプレートがこちらです。

head meta charset="utf-8" meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" meta name="viewport" content="width=device-width, initial-scale=1.0" title= content_for?(:title) ? yield(:title) : "Vegewel" = csrf_meta_tags = stylesheet_link_tag "application", :media => "all" = favicon_link_tag 'apple-touch-icon-144x144-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png', :sizes => '144x144' = favicon_link_tag 'apple-touch-icon-114x114-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png', :sizes => '114x114' = favicon_link_tag 'apple-touch-icon-72x72-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png', :sizes => '72x72' = favicon_link_tag 'apple-touch-icon-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png' = favicon_link_tag 'favicon.ico', :rel => 'shortcut icon' = javascript_include_tag "application" script src="//maps.google.com/maps/api/js?v=3.23&key=AIzaSyCgBL4ep6_BcDS3ffBf9Tz5ZTHaaZ4Y3bg" script src="//cdn.rawgit.com/mahnunchik/markerclustererplus/master/dist/markerclusterer.min.js" script src='//cdn.rawgit.com/printercu/google-maps-utility-library-v3-read-only/master/infobox/src/infobox_packed.js'

こちらを表示させると以下のようになぜか2度同じ箇所を表示してしまいます。
何が問題なのでしょうか

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta content="IE=Edge,chrome=1" http-equiv="X-UA-Compatible" /> <meta content="width=device-width, initial-scale=1.0" name="viewport" /> <title>vegewel</title><meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="fyaNxXHsPj7jBWtVbIi6mbRSwJmnrvBcClkkgn3AXtfQZBUXJzbsGFIPRHzaiAkn+t4mw70Ax8Fb0soEqpwBwA==" /><!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]--><link rel="stylesheet" media="all" href="/assets/flatly.self-7937be050bd767e6138130b081ab02adee94bf533a6c9cf8c78d0540fc985b2b.css?body=1" /> <link rel="stylesheet" media="all" href="/assets/flatly/loader.self-a67484627247fa148f9180aaa7dd4dc2ea098f52134ffecede7a0913a369b732.css?body=1" /> ・・・ <script src="/assets/gmaps/google/objects/polyline.self-d6d7caf58094ef9b48b3e93abdcc0f43c6b3fb204c882f4613577480cbe5d857.js?body=1"></script> <script src="/assets/gmaps/google/primitives.self-5b8a3a670839d76c06f9877827daa0d739b27f8d6ebd346d7fc6006819755e65.js?body=1"></script> <script src="/assets/gmaps/google.self-877aef30ae1b040ab8a3aba4e3e309a11d7f2612f44dde450b5c157aa5f95c05.js?body=1"></script> <script src="/assets/application.self-44dc72337fbefc4f8c73fc8781b922cf9e4f99f8d068e6563c3820851d9390f6.js?body=1"></script> <script src="//maps.google.com/maps/api/js?v=3.23&amp;key=XXX"></script> <script src="//cdn.rawgit.com/mahnunchik/markerclustererplus/master/dist/markerclusterer.min.js"></script> <script src="//cdn.rawgit.com/printercu/google-maps-utility-library-v3-read-only/master/infobox/src/infobox_packed.js"></script> <script> jQuery(function(){ handler = Gmaps.build('Google'); handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){ markers = handler.addMarkers( [{"lat":"35.6626515","lng":"139.71073979","infowindow":"Muffin\u0026Coffee 8ablish","title":"本日のマフィン"}]); handler.bounds.extendWith(markers); handler.fitMapToBounds(); handler.getMap().setZoom(15); }); }); </script> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta content="IE=Edge,chrome=1" http-equiv="X-UA-Compatible" /> <meta content="width=device-width, initial-scale=1.0" name="viewport" /> <title>vegewel</title><meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="fyaNxXHsPj7jBWtVbIi6mbRSwJmnrvBcClkkgn3AXtfQZBUXJzbsGFIPRHzaiAkn+t4mw70Ax8Fb0soEqpwBwA==" /><!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]--><link rel="stylesheet" media="all" href="/assets/flatly.self-7937be050bd767e6138130b081ab02adee94bf533a6c9cf8c78d0540fc985b2b.css?body=1" /> <link rel="stylesheet" media="all" href="/assets/flatly/loader.self-a67484627247fa148f9180aaa7dd4dc2ea098f52134ffecede7a0913a369b732.css?body=1" /> <link rel="stylesheet" media="all" href="/assets/flatly/bootswatch.self-42ba6bdca4f2dac34d17a8b01f0788d4c9921868e9abc2998138b7286e6dab21.css?body=1" /><script src="/assets/jquery.self-660adc51e0224b731d29f575a6f1ec167ba08ad06ed5deca4f1e8654c135bf4c.js?body=1"></script> ・・・ <script src="/assets/gmaps/google/objects/polyline.self-d6d7caf58094ef9b48b3e93abdcc0f43c6b3fb204c882f4613577480cbe5d857.js?body=1"></script> <script src="/assets/gmaps/google/primitives.self-5b8a3a670839d76c06f9877827daa0d739b27f8d6ebd346d7fc6006819755e65.js?body=1"></script> <script src="/assets/gmaps/google.self-877aef30ae1b040ab8a3aba4e3e309a11d7f2612f44dde450b5c157aa5f95c05.js?body=1"></script> <script src="/assets/application.self-44dc72337fbefc4f8c73fc8781b922cf9e4f99f8d068e6563c3820851d9390f6.js?body=1"></script> <script src="//maps.google.com/maps/api/js?v=3.23&amp;key=XXX"></script> <script src="//cdn.rawgit.com/mahnunchik/markerclustererplus/master/dist/markerclusterer.min.js"></script> <script src="//cdn.rawgit.com/printercu/google-maps-utility-library-v3-read-only/master/infobox/src/infobox_packed.js"></script> <script> jQuery(function(){ handler = Gmaps.build('Google'); handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){ markers = handler.addMarkers( [{"lat":"35.6626515","lng":"139.71073979","infowindow":"Muffin\u0026Coffee 8ablish","title":"本日のマフィン"}]); handler.bounds.extendWith(markers); handler.fitMapToBounds(); handler.getMap().setZoom(15); }); }); </script> </head>

何が問題なのでしょうか?どうかよろしくお願いしますどうかよろしくお願いします。

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

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

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

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

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

guest

回答1

0

自己解決

失礼しました。
= if defined?(@temp)
ではなく

  • if defined?(@temp)

でした。slimの書き方の問題でした。

投稿2016/07/28 00:16

hrc

総合スコア55

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問