yutokyokutyo / rebuild_sample_app

https://railstutorial.jp/chapters/static_pages?version=5.0#cha-static_pages
https://rebuildsampleapp.herokuapp.com/
5 stars 0 forks source link

Exercises-10.1.1 #15

Closed yutokyokutyo closed 7 years ago

yutokyokutyo commented 7 years ago
  1. 先ほど触れたように、target="_blank"で新しいページを開くときには、セキュリティ上の小さな問題があります。それは、リンク先のサイトがHTMLドキュメントのwindowオブジェクトを扱えてしまう、という点です。具体的には、フィッシング (Phising) サイトのような、悪意のあるコンテンツを導入させられてしまう可能性があります。Gravatarのような著名なサイトではこのような事態は起こらないと思いますが、念のため、このセキュリティ上のリスクも排除しておきましょう。対処方法は、リンク用のaタグのrel (relationship) 属性に、"noopener"と設定するだけです。早速、リスト 10.2で使ったGravatarの編集ページへのリンクにこの設定をしてみましょう。
  2. リスト 10.5のパーシャルを使って、new.html.erbビュー (リスト 10.6) とedit.html.erbビュー (リスト 10.7) をリファクタリングしてみましょう (コードの重複を取り除いてみましょう)。ヒント: 3.4.3で使ったprovideメソッドを使うと、重複を取り除けます3。(関連するリスト 7.27の演習課題を既に解いている場合、この演習課題をうまく解けない可能性があります。うまく解けない場合は、既存のコードのどこに差異があるのか考えながらこの課題に取り組んでみましょう。例えば筆者であれば、リスト 10.5のテクニックをリスト 10.6に適用してみたり、リスト 10.7のテクニックをリスト 10.5に適用してみたりするでしょう。)
yutokyokutyo commented 7 years ago

現状不具合が起きているので修正する。

image

% rails t                                                                                                                        (git)-[updating-users]
Running via Spring preloader in process 28232
Started with run options --seed 30224

ERROR["test_layout_links", SiteLayoutTest, 1.1556235270018078]
 test_layout_links#SiteLayoutTest (1.16s)
ActionView::Template::Error:         ActionView::Template::Error: no implicit conversion of Symbol into Integer
            app/views/users/_form.html.erb:1:in `_app_views_users__form_html_erb__1184719247273291518_70366562821660'
            app/views/users/new.html.erb:9:in `_app_views_users_new_html_erb__1521258509911060935_70366562887480'
            test/integration/site_layout_test.rb:14:in `block in <class:SiteLayoutTest>'

ERROR["test_invalid_signup_information", UsersSignupTest, 1.3886548740010767]
 test_invalid_signup_information#UsersSignupTest (1.39s)
ActionView::Template::Error:         ActionView::Template::Error: no implicit conversion of Symbol into Integer
            app/views/users/_form.html.erb:1:in `_app_views_users__form_html_erb__1184719247273291518_70366572664620'
            app/views/users/new.html.erb:9:in `_app_views_users_new_html_erb__1521258509911060935_70366572889480'
            test/integration/users_signup_test.rb:6:in `block in <class:UsersSignupTest>'

ERROR["test_valid_signup_information", UsersSignupTest, 1.4221722460006276]
 test_valid_signup_information#UsersSignupTest (1.42s)
ActionView::Template::Error:         ActionView::Template::Error: no implicit conversion of Symbol into Integer
            app/views/users/_form.html.erb:1:in `_app_views_users__form_html_erb__1184719247273291518_70366598674500'
            app/views/users/new.html.erb:9:in `_app_views_users_new_html_erb__1521258509911060935_70366598728300'
            test/integration/users_signup_test.rb:20:in `block in <class:UsersSignupTest>'

ERROR["test_should_get_new", UsersControllerTest, 1.4577421230005712]
 test_should_get_new#UsersControllerTest (1.46s)
ActionView::Template::Error:         ActionView::Template::Error: no implicit conversion of Symbol into Integer
            app/views/users/_form.html.erb:1:in `_app_views_users__form_html_erb__1184719247273291518_70366591311160'
            app/views/users/new.html.erb:9:in `_app_views_users_new_html_erb__1521258509911060935_70366563556100'
            test/controllers/users_controller_test.rb:5:in `block in <class:UsersControllerTest>'

  28/28: [=========================================================================================================] 100% Time: 00:00:01, Time: 00:00:01

Finished in 1.77558s
28 tests, 59 assertions, 0 failures, 4 errors, 0 skips
yutokyokutyo commented 7 years ago

<%= form_for(@user, yield(:helper_path)) do |f| %>

<% provide(:helper_path, url: signup_path) %>

_form で url:url: signup_path を yield したいけどできてない。

Symbolを整数に暗黙的に変換しないって言われてる..。 タイムアップ。

yutokyokutyo commented 7 years ago

ブランチの指定がそもそもおかしかったので close します..。