1

私はレールの初心者であり、些細な/根本的なレールの問題と思われるものがあります。

オブジェクトに関する情報を渡そうとしているリンクがあります。

<% for author in @book.authors %>
  <%= link_to "compute", special_book_path(author) %>

コントローラーの「作成者」オブジェクト (特別な名前付きルートを介して渡された) にアクセスするにはどうすればよいですか?

私は試した:

@author = @book.authors.find(params[:author])

しかし、「ID なしで作成者を見つけることができませんでした」というエラーが発生しました。

編集:解決策

special_book_path(author_id: author.id)

コントローラ

params[:author_id]
4

2 に答える 2

2

名前付きルートを設定するときは、リクエストパラメータ名を設定します。通常:id、使用するときspecial_book_path(author)、このパラメータの値author.to_paramは、デフォルトauthor.send(author.class.primary_key)で通常は に設定されるauthor.idため、おそらく単純に

@author = Author.find(params[:id])

動作します

于 2013-02-14T16:10:51.087 に答える