回答編集履歴
1
リンクに
answer
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
仕組みを知りたいのであれば、Rails のソースを検索、読むのが良いのかと思いました
|
2
2
|
|
3
3
|
`def link_to` で調べると、 二番目の引数は `options` で `url_for(options)` によって URL に変換されていることがわかります。
|
4
|
-
https://github.com/rails/rails/blob/60ef07093d9023568ccbbd34e862b40395ec02f4/actionview/lib/action_view/helpers/url_helper.rb#L196
|
4
|
+
[https://github.com/rails/rails/blob/60ef07093d9023568ccbbd34e862b40395ec02f4/actionview/lib/action_view/helpers/url_helper.rb#L196](https://github.com/rails/rails/blob/60ef07093d9023568ccbbd34e862b40395ec02f4/actionview/lib/action_view/helpers/url_helper.rb#L196)
|
5
5
|
|
6
6
|
`def url_for` で調べると、 Model が渡された場合(最後の `else` 節) ` HelperMethodBuilder.url.handle_model_call self, options` によって URL を作っていることがわかります
|
7
|
-
https://github.com/rails/rails/blob/de7f57f9482dd94c585cbd63cdef061b81371db3/actionpack/lib/action_dispatch/routing/url_for.rb#L171
|
7
|
+
[https://github.com/rails/rails/blob/de7f57f9482dd94c585cbd63cdef061b81371db3/actionpack/lib/action_dispatch/routing/url_for.rb#L171](https://github.com/rails/rails/blob/de7f57f9482dd94c585cbd63cdef061b81371db3/actionpack/lib/action_dispatch/routing/url_for.rb#L171)
|
8
8
|
|
9
9
|
その先も知りたければ探していけばよいだけですが、つまりは Model => URL 文字列 の変換を行っていて、リンクが HTML として作られているため、という感じの説明になるかと思います
|