Git Product home page Git Product logo

yasslab / railsguides.jp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ericallam/docrails

362.0 28.0 269.0 215.95 MB

📕 Ruby on Railsガイドの公開リポジトリです。1600ページ超えの大型リファレンスとなっています。

Home Page: https://railsguides.jp

License: MIT License

Ruby 96.66% JavaScript 0.79% CSS 0.15% CoffeeScript 0.35% HTML 1.77% Gherkin 0.01% Yacc 0.01% Shell 0.04% SCSS 0.22% Procfile 0.01%
rails japanese document ruby-on-rails ruby

railsguides.jp's Introduction

Build Status

Ruby on Rails ガイド - 体系的に Rails を学ぼう

『Railsガイド』とは?

『Railsガイド』は Ruby on Rails Guides に基づいた大型リファレンスガイドです。
Railsの各機能を体系的に学び、プロダクト開発の生産性を高めたいときに役立ちます。

Ruby on Rails ガイド
https://railsguides.jp/

これから Rails を勉強する方は『Railsチュートリアル』がオススメです。

Ruby on Rails チュートリアル:実例を使ってRailsを学ぼう
https://railstutorial.jp/


フィードバックについて

Railsガイドを読んで誤字・脱字・誤訳などを見かけましたら、下記の『ブラウザでRailsガイドの修正を提案する』に沿って Pull Request (プルリク) を送っていただけると嬉しいです 😌

もし原著 (英語版) の間違いを見つけたら プルリクチャンス です! Railsガイドの『Railsのドキュメントに貢献する』を参考に :octocat: rails/rails にプルリクを送ってみましょう 🌐🤝

Railsガイド』および『Rails Guides』の品質向上に向けて、皆さまのご協力が得られれば嬉しいです 🙏✨


ブラウザでRailsガイドの修正を提案する (オススメ)

多分これが一番簡単だと思います...!! 😆

  1. ブラウザ上で guides/source/ja を開く
  2. 直したいファイルを開く (例: upgrading_ruby_on_rails.md)
  3. 画面右にある ✎ アイコン (Fork this project and edit this file) をクリックする
  4. 気になる箇所を修正し、修正内容にタイトルと説明文を付け、Propose file change をクリックする
  5. 修正内容を確認し、問題なければ Create pull request をクリックする

以上で完了です。提案されたRailsガイドの修正はコミッターによって再確認され、問題なければ提案された内容が反映されます。もし問題があってもコミッター側で修正できるので、まずは気軽に提案してみてください 😉


Railsガイドの生成方法

Pull Request を送る前に生成結果を確認したい場合は下記をご参照ください。
(生成結果を確認せずに Pull Request を送って頂いても大丈夫です! 😆👌)

1. 既存のHTMLファイルをローカルで生成および確認(Jekyll)

  1. $ bundle install
  2. $ bundle exec rake assets:precompile
  3. $ bundle exec jekyll server
  4. localhost:4000 から既存のHTMLファイルを確認する

2. 編集したHTMLをローカルで生成および確認 (Jekyll)

  1. /guides/source/ja 内の Markdown ファイルを編集する
  2. $ bundle exec rake assets:precompile
  3. $ bundle exec jekyll server
  4. localhost:4000 から変更結果を確認する
  5. (問題なければ) PR を送付する

3. Pull Request (PR) と Continuous Integration (CI)

  • PR が送られると、railsguides.jp の GitHub Actions が走ります。
  • CI が通らなかった場合は、該当箇所を修正してください。(bundle exec rake testでローカル環境でも確認できます)
  • マージされない限り本番環境には反映されないので、PR は気軽に送ってください! 😆👌

運営チーム

本リポジトリは『創る』『学ぶ』を支援する YassLab 株式会社 によって制作・運用されております。

📣 【PR】YassLab 社では研修支援教育支援バナー掲載などにも対応しています。まずは無料の導入相談からぜひ! 🙏 💖


YassLab 社以外にも、次の方々が協力してくれました! 🤝✨
様々なご意見・フィードバックありがとうございます! (>人< )✨

協力者

支援・協賛

Railsガイドでは、ドキュメントを通してRuby/Railsコミュニティを一緒に支援してくださる企業を募集しております。詳細は「協賛プラン」のページよりご確認ください。

協賛プラン: https://railsguides.jp/sponsors

協賛プラン バナー画像


ライセンス

CC BY-SA International

Railsガイドのコンテンツ部分クリエイティブ・コモンズ 表示-継承 4.0 国際 (CC BY-SA 4.0) ライセンスに基づいて公開されています。

ただし『Rails』や『Ruby on Rails』という名称、ならびに Rails のロゴ画像は David Heinemeier Hansson の登録商標であり、本ライセンスの対象ではありません。また、本サイトのロゴ画像などの一部は YassLab 社の著作物です。

Ruby on Rails のソースコードMIT ライセンスに基づいて公開されています。

クレジット

YassLab Inc.

railsguides.jp's People

Contributors

amatsuda avatar carlosantoniodasilva avatar dhh avatar drogus avatar eileencodes avatar fxn avatar guilleiguaran avatar hachi8833 avatar jeremy avatar jonleighton avatar josevalim avatar josh avatar kamipo avatar kaspth avatar lifo avatar maclover7 avatar matthewd avatar miloops avatar nzkoz avatar pixeltrix avatar prathamesh-sonpatki avatar rafaelfranca avatar senny avatar sgrif avatar spastorino avatar tenderlove avatar vijaydev avatar vipulnsward avatar y-yagi avatar yasulab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

railsguides.jp's Issues

constant_autoloading_and_reloading(Autoloading Availability)

By default, Rails eager loads the application files when it boots in production mode, so most of the autoloading going on in development does not happen. But autoloading may still be triggered during eager loading.
productionモードで起動された場合は、デフォルトでファイルの事前一括読み込み (eager loading) が行われるため、developmentモードのような自動読み込みはほとんど発生しません。ただし、一括読み込みにおいても自動読み込みが発生することがあります。

二度目のeager loadingも"事前"一括読み込み、として訳してはどうでしょうか?

constant_autoloading_and_reloading(Resolution Algorithms)

2. If not found, then the algorithm walks up the ancestor chain of the cref.
2. 見つからない場合は、crefのチェーンを先祖の方向に探索する。

ですが、" the ancestor chain of the cref"は"crefの先祖チェーン"という意味で、"crefのチェーン"ではないと思います。先祖チェーンは継承チェーンという訳されるみたいですね(メタプログラミングRubyやRubyのしくみ)。
直前で先祖について訳注をつけているので"crefの先祖チェーン(継承チェーン)"という訳がいいのではないでしょうか?

内部リンクを自動的に置換できるようにしたい

内部リンクはセクション名に依存しているため、セクション名を翻訳する必要があるRailsガイドでは、ほぼ必ず内部リンクが壊れてしまいます。毎回手作業で修正しているのですが、面倒なのでコレをなんとか自動化できないものかな... 😓

内部リンクの修正事例: https://github.com/yasslab/railsguides.jp/pull/78/files

改善案:

  1. 原文のセクション名と訳文のセクション名のテーブルを用意して、
  2. HTMLを生成する際に、そのテーブルを参照して内部リンクを置換する
  3. たまに反応しないリンク(日本語の文字コードが原因?)があるので、それに対するescapeも適宜処理する

constant_autoloading_and_reloading(autoload_paths)3

An application can opt-in by adding this to `config/application.rb`
必要であれば、以下のように`config/application.rb`に`lib`をあえて追加する (オプトイン) こともできます。

ですが、"config/application.rblibを追加する"というの書き方が気になります。"config/application.rbに下記のコードを追加する"(thisを下記のコードとして訳す)、もしくは"config/application.rb内でautoload_pathsにlibを追加する"といった訳のほうがいいと思います、

Idobataでの会話をTwitterアカウントからツイートさせたい

Idobataでの会話はオープンなので誰でも見れますが、Idobataアカウントを持ってない人や、Idobataにあまりログインしない方もいるので、そういう人も気軽にTwitterの @RailsGuidesJP アカウントをフォローすれば追いかけられるようにすると面白いかなって、ふと思いつきました。

active_support_core_extensions の 16.1.2.4 advance

いくつか気になったので修正したいです。

1

日時を移動する最も一般的な方法はadvanceメソッドを使用することです。このメソッドは:years、:months、:weeks、:daysをキーに持つハッシュを受け取り、日時をできるだけ詳細な形式で、現在のキーで示されるとおりに返します。

ですが、原文は

receives a hash with keys `:years`, `:months`, `:weeks`, `:days`, `:hours`, `:minutes`, and `:seconds`,

で、

`:hours`, `:minutes`, and `:seconds`

が抜けているので足したいです。

2

この実行順序には意味があります。もし順序が変わると、This order is relevant, a different ordering would give different datetimes in some edge-cases. 

と、一部原文がのこっているので

この実行順序には意味があります。エッジケースにおいては、順序が変わることで、計算結果が異なる場合があります。

のように訳したいと思います。

3

もし仮に日付部分を先に進め (前述したとおり、相対的な計算順序があります)、続いて時間部分をすすめるIf we first move the date bits (that have also a relative order of processing, as documented before), and then the time bits we get for example the following computation:

と、一部原文がのこっているので

もし仮に日付部分を先に進め (前述したとおり、相対的な計算順序があります)、続いて時間部分をすすめると以下のような結果が得られます。

のように訳したいと思います。

4

DateTimeは夏時間 (DST) については関知しません。算出された時間が最終的に存在しない時間になっても警告やエラーはは is not DST-aware you can end up in a non-existing point in time with no warning or error telling you so.

と、一部原文がのこっているので

DateTimeは夏時間 (DST) については関知しません。算出された時間が最終的に存在しない時間になっても警告やエラーは発生しません。

のように訳したいと思います。

いかがでしょうか?

active_record_callbacks(3 利用可能なコールバック)

WARNING. `after_save` runs both on create and update, but always _after_ the more specific callbacks `after_create` and `after_update`, no matter the order in which the macro calls were executed.
WARNING: `after_save`は作成と更新の両方で呼び出されますが、コールバックマクロの呼び出し順にかかわらず、必ず、より具体的な`after_create`および`after_update`より _後_ に呼び出してください。

ですが、"but always after the more specific callbacks"は"after_save runs always after ..."という意味だと思いますので、"より具体的なafter_createおよびafter_updateより に呼び出されます"の方が適切ではないでしょうか?

constant_autoloading_and_reloading(Autoloading Algorithms)

modulus some additional directory lookups we are going to cover soon.
モジュールの探索対象となるその他のディレクトリについては後述します。●

ですが、"modulus"は辞書通り"標準"という意味ではないでしょうか。

PostsController内のPost定数を探索するとき、app/controllers/posts_controller/post.rbファイルとapp/controllers/post.rbファイル以外にapp/controllers/posts_controller/postディレクトリなども追加で探索することを指しているのではないでしょうか。

constant_autoloading_and_reloading(autoload_paths)

If it finds any of them, the interpreter loads it and ends the search.
いずれかの名前を持つファイルがディレクトリで見つかれば、Rubyインタプリタは探索をそこで終了します。

細かいですが、"loads it"の訳が抜けています。

http://railsguides.jp/getting_started.html

Railsをはじめよう
5.10 検証 (バリデーション) の追加

「app/controllers/articles_controller.rbのnewアクションとchange`アクションを以下のように変更してください。」

changeはcreateが正しいでしょうか?

"hub" is required

Where executing git remote add upstream rails/docrails command, it requires "hub" command.

So need to install "hub" or change URI to full.

for Mac OS X

brew install hub
alias git=hub
git remote add upstream rails/docrails

or

git remote add upstream [email protected]:rails/docrails.git

"hub" が必要でした。

action_controller_overview (8.2 その他のフィルタ使用法)

1番目は、*actionメソッドに対して直接ブロックを与えることです。このブロックはコントローラを引数として受け取り、その上の`requirelogin`フィルタを書き換えて、ブロックを使用するようにします。●

http://railsguides.jp/action_controller_overview.html#%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E4%BD%BF%E7%94%A8%E6%B3%95

ですが、_のエスケープが抜けていました。

本家のdocは以下で修正しました。
rails/rails@6b4c5ae

備忘録としてissueにしておきます。

constant_autoloading_and_reloading(Resolution Algorithm for Relative Constants)

At any given place in the code, let's define *cref* to be the first element of the nesting if it is not empty, or `Object` otherwise.
コードの任意の場所で*cref*を定義し、それが空でないか`Object`である場合にネストの最初の要素となるようにしてみましょう (訳注: Rubyの定数が持つ暗黙のコンテキストをcrefと呼ぶようです -- [関連記事](http://yugui.jp/articles/846) )。

書籍"Rubyのしくみ"によると

crefはclass reference(クラス参照)の略 # p.75

図で示したように、RubyのCソースはレキシカルスコープを内部的にはcref構造体を使って表現する... (p. 273)

とのことからcrefはコードのある場所において、そこがどのクラス/モジュールに属するかを示していると考えられます。
またRubyではトップレベルで定義した定数はObject内に定義したものとして扱われます。

class My
end

p Object.constants
#=> [:Object, :Module, ... :My, :RUBYGEMS_ACTIVATION_MONITOR]

このことからたとえば以下のような訳がいいのではないでしょうか?

ネストが空でなければその最初の要素、空の場合には`Object`を、コードの任意の場所での*cref*というようにしましょう。(訳注: Rubyの定数が持つ暗黙のコンテキストをcrefと呼ぶようです -- [関連記事](http://yugui.jp/articles/846) )。

constant_autoloading_and_reloading

INFO. From then on, what happens to the constant and the instance does not matter.

INFO. これより先、定数とインスタンスで何が起きるかは問題ではありません。

の箇所ですが、From then on一度無名クラスや無名モジュールに名前が与えられた後はのほうが具体的で分かりやすいと思います。

asset_pipeline(2.4 マニフェストファイルとディレクティブ)

http://railsguides.jp/asset_pipeline.html#%E3%83%9E%E3%83%8B%E3%83%95%E3%82%A7%E3%82%B9%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A8%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96

You can do file globbing as well using `@import "*"`, and `@import "**/*"` to add the whole tree which is equivalent to how `require_tree` works. Check the [sass-rails documentation](https://github.com/rails/sass-rails#features) for more info and important caveats.
`@import "*"`や`@import "**/*"`などのようにワイルドカードマッチでツリー全体を指定することもできます。これは`require_tree`と同等です。詳細および重要な警告については[sass-railsドキュメント](https://github.com/rails/sass-rails#features)をさんしょうして

と途切れています。

を参照してください。のように修正していいでしょうか?

constant_autoloading

`Kernel#load` allows Rails to execute files more than once if [constant
reloading](#constant-reloading) is enabled.
定数の再読み込みが有効になっていると、Kernel#loadはファイルを繰り返し読み込めるようになります。

=>

定数の再読み込みが有効になっていると、Kernel#loadが使用され、ファイルを繰り返し読み込めるようになります。

に修正していいでしょうか?
configによってKernel#loadの挙動が変わっているわけではないので。

association_basics 内の表記ぶれ

http://railsguides.jp/association_basics.html

4.1と4.2、4.3、4.4とでサブタイトルがぶれています。

4.1 belongs_to関連付けの詳細

4.2 has_one関連付けにおける参照
4.3 has_many関連付けにおける参照
4.4 has_and_belongs_to_many関連付けの参照

原文の4.1 belongs_to Association ReferenceReferenceのニュアンスとしては~の詳細に統一しようかと思いますが、いかがですか?

constant_autoloading_and_reloading

`Post` is not syntax for a class. Rather, `Post` is a regular Ruby constant. If all is good, the constant evaluates to an object that responds to `all`.
上のコードの`Post`はクラスのための文法ではありません。そうではなく、`Post`はRubyにおける通常の定数です。何も問題がなければ、この定数は`all`に応答するオブジェクトとして評価されます。

ですがall メソッドをもつオブジェクトと訳すとより自然な表現になると思います。

action_controller_overview(10.2 The responseオブジェクト)

The response object is not usually used directly, but is built up during the execution of the action and rendering of the data that is being sent back to the user, but sometimes - like in an after filter - it can be useful to access the response directly. Some of these accessor methods also have setters, allowing you to change their values.
通常、responseオブジェクトを直接使用することはありません。このオブジェクトの内容は、クライアントに送り返される、アクションの実行中およびデータの描画 (レンダリング) ですが、このオブジェクトに直接これらのアクセサの中にはセッターで値を変更できるものもあります。

"is built up during ~"の箇所ですが、"アクション(コントローラのアクションメソッド)の実行を通じてresponseオブジェクトが構築されていく"という意味ではないでしょうか。そのあとの"and rendering"がどこからつながっているのか分からないので、その後の訳が適切かは自分には判断できませんが。。。

"but sometimes - like in an after filter - it can be useful to access the response directly"が訳しもれているので、"例えばafter filter内など、responseオブジェクトを直接操作したい(responseオブジェクトの値を直接操作したい?)ときもあります"のような訳がいいのではないでしょうか?

"Some of these accessor methods also have setters, allowing you to change their values."のところの訳が少々ぎこちなく感じます。おそらくaccessor methodsにはwriterもreaderもあることから、"Some of these ~"と書かれているのだと思いますので、"responseオブジェクトのアクセサメソッドのなかにはセッターをもつものもあり、値を直接変更できるものもあります。"のような訳がいいのではないでしょうか。

まとめると

通常、responseオブジェクトを直接使用することはありません。アクションの実行を通じてresponseオブジェクトが構築されていき、クライアントに送り返されるデータを描画 (レンダリング)します。例えばafter filter内など、responseオブジェクトを直接操作したいときもあります。responseオブジェクトのアクセサメソッドのなかにはセッターをもつものもあり、値を直接変更できるものもあります。

のような訳です(もう少し明示的に接続した文章にしたい・・・)。
確認よろしくお願いします!

typo in getting_started.md

改行コード関連で手こずったのでissueで失礼します。
以下、全てgetting_started.md内です。

448行目
データベースマイグレーション ファイルがfdb/migrateの下に」
fはタイポと思われます。

507行目
strong_parametersへのリンク記法全体をバッククオートで囲っているため、[link title](url)のように等幅でそのままレンダリングされています。正しくは[]の内側にバッククオートを入れて、strong_parameterかと思います。

923行目
翻訳忘れです。

以上です。

Action Controllerの概要 — Rails ガイド: 10.1 requestオブジェクト の表で翻訳されていない部分がある

http://railsguides.jp/action_controller_overview.html#request%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88

表の requestのプロパティ query_string に対応する目的の項が

ウRThe query string part of the URL, i.e., everything after "?".

となっています.文字化け + 翻訳がうまくいっていないように見えます.

URL のうちクエリストリングの部分,つまり "?" から後ろ全て.

といった感じですかねえ.

原著とのdiffが発生したら自動的にIssueを作成したい

RubyHirobaでお会いした @chezou さんに教わったワザ。

Jekyllの日本語ドキュメントでは、こういた運用をしていてとても良さそう。

jekyllrb-ja/jekyllrb-ja.github.io - Issues
https://github.com/jekyllrb-ja/jekyllrb-ja.github.io/issues

cf. GitHubの彼と自分を比べて何になるの? gh-diffの紹介〜翻訳プロジェクトのために
http://melborne.github.io/2014/07/04/you-always-compared-with-github/

association_basics :primary_keyオプションについて

By convention, Rails assumes that the column used to hold the primary key of this model is `id`. You can override this and explicitly specify the primary key with the `:primary_key` option.

=>

4.2.2.7 :primary_key

Railsでは、モデルの主キーはidカラムに保存されます。:primary_keyオプションで主キーを明示的に指定することでこれを上書きすることができます。
By convention, Rails assumes that the column used to hold the primary key of this model is `id`. You can override this and explicitly specify the primary key with the `:primary_key` option.

=>

4.3.2.7 :primary_key

Railsでは、関連付けの主キーはidカラムに保存されます。:primary_keyオプションで主キーを明示的に指定することでこれを上書きすることができます。

Railsでは、関連付けの主キーはidカラムに保存されます。の箇所は4.2.2.7同様にRailsでは、モデルの主キーはidカラムに保存されます。にあわせたほうがいいと思います。

主キーそのものはレコードを一意に識別できるもので、関連付けにも利用されるというのは二次的な役割だと思います。また関連付けの主キーはidカラムに保存されます。では関連付けに必要な外部キーを(belongしているモデルの)idカラムに保存する、という意味と混合される気がします。

またassumesのニュアンス含めて

通常Railsでは、モデルの主キーは`id`カラムに保存されていると考えられます。

のように訳してはどうでしょうか?

constant_autoloading_and_reloading(Resolution Algorithms)

The algorithm for qualified constants goes like this:
定数を修飾するアルゴリズムは以下のようになります。

ですが"修飾済み定数(を解決する)アルゴリズムは以下のようになります。"のほうが適切だと思います。

constant_autoloading_and_reloading.mdの●(1)

It is interesting to observe that blocks do not modify the stack. In particular the blocks that may be passed to Class.new and Module.new do not get the class or module being defined pushed to their nesting. That's one of the differences between defining classes and modules in one way or another.
ここで興味深いのは、ブロックがスタックに何の影響も与えないという事実です。特に、Class.newやModule.newにブロックを渡しても、そこで定義されるクラスやモジュールはネストにプッシュされません。この点が、ブロックを使用せずに何らかの形でクラスやモジュールを定義する場合と異なる点の一つです。●

は基本的には現在の訳で問題ないと思います。ひとつ気になるのはそこで定義されるクラスやモジュールはネストにプッシュされません。の箇所で、原文は下記の(1)で空の配列になることを指しているのだと思いますが、日本語訳の読み方によっては(3)のときにも空の配列が返るという印象を与える気がします。

MyClass = Class.new{|c|
      p Module.nesting
     #=> [] (1)
      def initialize
        p "in initialize"
      end

      def hoge
        p "hoge hoge hoge"
      end
    }

class YourClass
  p Module.nesting
  #=> [YourClass] (2)
end

HisClass = Class.new{|c|
      def initialize
        p "in initialize"
      end

      def hoge
        p "hoge hoge hoge"
      end

      class HerClass
        p Module.nesting
        #=> [HerClass] (3)
      end
    }

RailsガイドをDashで使えるようにしたい! (docsetへのコンバータを作る?)

screen shot 2014-12-27 at 13 12 07

(思い付きレベルですが) DashというMac用のマニュアル検索ツールでは docsetというものを作成するとDashで串刺し検索できるようになります。

Rubyについては日本語のdocsetもあり、Railsも英語版のdocsetがあります。
http://penguinlab.jp/blog/post/2290

Rails日本語版もdocsetにできたらいいなーと思った次第でした。
Railsのdocsetには Rails Guidesだけではなく
APIガイドも含まれているので簡単ではないですが ;-)

DashはMac用なのですが、いつの間にかWin/Linux版もできてたらしい
http://blog.kapeli.com/dash-for-ios-android-windows-or-linux

「Active Record マイグレーション」に誤字を発見

ページ最上部の、

このガイドの内容:

マイグレーション作成で使用されるじぇねれ
Active Recordが提供するデータベース操作用メソッド群の解説
マイグレーション実行とスキーマ更新用のRakeタスクの解説
マイグレーションとスキーマファイルschema.rbの関係

"マイグレーション作成で使用されるじぇねれ" は、"マイグレーション作成で使用されるジェネレータ"が正しいように思います。

「Railsエンジン入門」ページの誤訳

「Railsエンジン入門」ページ「3.1 Articleリソースを生成する」に以下の記述があります。

デフォルトでは、scaffoldで生成されたスタイルは適用されません。これは、エンジンのレイアウトファイルapp/views/layouts/blorgh/application.html.erbがデフォルトでは読み込まれないようになっているためです。

この文章は app/views/layouts/blorgh/application.html.erb がデフォルトで読み込まれないように受け取れますが、原文では以下のようになっています。

By default, the scaffold styling is not applied to the engine because the engine's layout file, app/views/layouts/blorgh/application.html.erb, doesn't load it.

意味が変わってしまっているようなので誤訳かと思います。
ご確認ください。

association_basics association=メソッドの訳について

4.1.1.2 association=(associate)

association=メソッドは、そのオブジェクトに関連付けられたオブジェクトを返します。

原文:

The `association=` method assigns an associated object to this object. 
4.2.1.2 association=(associate)

association=メソッドは、そのオブジェクトに関連付けられたオブジェクトを返します。

原文:

The `association=` method assigns an associated object to this object. 

となっています。
ここはassociation=メソッドは、引数のオブジェクトをそのオブジェクトに関連付けます。というようにassigns = 関連付けると訳したほうがいいのではないでしょうか?

constant_autoloading_and_reloading(autoload_paths)2

We are going to cover how constant autoloading works in more detail later, but the idea is that when a constant like `Post` is hit and missing, if there's a `post.rb` file for example in `app/models` Rails is going to find it, evaluate it, and have `Post` defined as a side-effect.
ここから定数の自動読み込みについて詳細を説明しますが、その中核となるアイディアは次のとおりです。たとえば`app/models`ディレクトリに`post.rb`というファイルがあり、`Post`のような定数がいったん見つかった後に見つからなくなると、Railsはこの定数を探索・評価し、その結果`Post`という定数を「副作用として」定義します。
but the idea is that when a constant like `Post` is hit and missing

の箇所ですが、Postという定数に遭遇(hit)して、その定数が見つからない(まだ定義されていない)(missing)とき、という意味だと思います。

constant_autoloading_and_reloading(Resolution Algorithms)

1. If the nesting is not empty the constant is looked up in its elements and in order. The ancestors of those elements are ignored.
1. ネストが存在する場合、この定数は自身の要素の中で順に探索される。それらの要素の先祖は探索されない (訳注: 本章で言う先祖 (ancestors) とは[クラス、モジュールのスーパークラスとインクルードしているモジュール](http://docs.ruby-lang.org/ja/2.2.0/method/Module/i/ancestors.html)のことです)。

細かい指摘ですが、"in its elements"はitsを明示的に訳して"ネストの要素の中"としたほうが分かりやすいのではないでしょうか?

railsguides/bundle exec rake guides:generateがうまくいかない問題について原因と解決策案 #railsguide

(Thanks @hanachin for reporting this document! 😸 )

原因

オリジナルのRailsGuideの国際化対応が不十分

  • 各h2〜h6のレベルに応じて、見出しにDOMのidをふって、それを見出しへのリンクに使う
  • 具体的にはmarkdown.rbでdom_idメソッドで見出しを振っている
    • parent_chapter-child_chapter
    • parent_chapter-child_chapter-grand_child_chapter
  • dom_idメソッドがバグっていて、日本語に対応していない
  • たとえば主な変更点という見出しがついていると、英語以外が全部取り除かれて""として認識されてしまう

解決策

まじめにやればRails本家にPull Requestが出せそう

  • 松: ちゃんとテスト書いて本家にPull Request、日本語の見出しや各国語に対応するためにURLエンコードした文字列をdom_idに設定する
  • 竹: URLエンコードさせた文字列を食わせる
  • 梅: sha1に食わせたハッシュ値を使う(バグらなさそう) ← 現在の状態
  • 梅2: 見出しだけ英語に戻す

見出しへのリンク等がある場合、そのリンクの生成もこれでやっている感じする。(要確認)
とりあえずこのいずれかの対応でHTMLは生成出来るようになる。
ただし、本文中のリンク切れが発生すると思われる。

  • はったさんに翻訳版のリンクに変更して対応してもらう
  • 何かしらで翻訳後の見出しにも、原文と同じdom_idを振る

時間がないのでリンクを変更が現実的な解決策だと思われる。

その他

  • それとは別に英語のsourceのMarkdownがコンフリクトしているが、日本語版のMarkdownファイルさえ大丈夫なら問題なく生成出来そう。

constant_autoloading_and_reloading(Autoloading Algorithms)2

INFO. `'Constant::Name'.underscore` gives the relative path without extension of the file name where `Constant::Name` is expected to be defined.
INFO. `'Constant::Name'.underscore`は、`Constant::Name`が定義されていると期待されている場所でファイル拡張子抜きの相対パスを返します。

underscoreメソッドは以下のように働きます。

'ActiveModel::Errors'.underscore # => "active_model/errors"

ここではwhereはthe file nameを指していると思います。
よって「'Constant::Name'.underscoreは、Constant::Nameが定義されていると期待されているファイルへの相対パスを返します(ただしファイル名からは拡張子が抜かれます)。」のような訳はどうでしょうか? 丸括弧をはずした訳がいいのですが・・・

A Guide to Testing Rails Applications のタイトルが documents.yaml を反映しない

といっても、まだ翻訳中の章なので、urgent ではないありません。

diff --git a/guides/output/testing.html b/guides/output/testing.html
index d63f9e4..fed72da 100644
--- a/guides/output/testing.html
+++ b/guides/output/testing.html
@@ -16,7 +16,7 @@
 <meta property="og:type"        content="article" />
 <meta property="og:description" content="Rails 開発のお供に! 日本語版 Rails リファレンスガイド (Rails 4.1 対応)" />

-<title>A Guide to Testing Rails Applications — Ruby on Rails Guides</title>
+<title>Ruby on Rails Guides</title>
 <link rel="stylesheet" type="text/css" href="stylesheets/style.css" />
 <link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />

association_basics 4.5 関連付けのコールバック

Rails passes the object being added or removed to the callback.
Railsはコールバックへの追加または削除時にオブジェクトを渡します。

ですが、the object being added or removedは追加・削除された(関連付けられたモデルの)オブジェクトのことだと思います。なので

Railsは、追加された(追加される?)オブジェクトや削除された(削除される?)オブジェクトをコールバックへ(引数として?)渡します。

のような訳がいいのではないでしょうか?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.