私は Railscast 407 (プロ/有料のエピソードです) と一緒に作業しています。Ryan Bates がサイトにパブリック アクティビティ機能を追加します。つまり、各アクティビティ (レシピの作成または更新、またはレシピへのコメント) がパブリック フィードに表示されます。アプリを作成するある時点で、彼は次のコードを使用して /views/activities フォルダーからパーシャルをレンダリングしますが、コメント サブフォルダーも追加するため、作成パーシャル パスは次のようviews/activities/comment/_create.html.erb
になり、それへのリンクは次のようになります。
<%= render "activities/#{activity.trackable_type.underscore}/#{activity.action}", activity: activity %>
<h1> Activities </h1>
<% @activities.each do |activity| %>
<%= div_for activity do %>
<%= link_to activity.user.name, activity.user %>
<%= render "activities/#{activity.trackable_type.underscore}/#{activity.action}", activity: activity %>
<% end %>
<% end %>
彼のコードを正しくコピーしたことは確かですが、従おうとするとこのエラーが発生します。
The partial name (activities/comment/) is not a valid Ruby identifier; make sure your partial name starts with a letter or underscore, and is followed by any combinations of letters, numbers, or underscores.
ただし、エピソードではそのエラーは発生しません。ここ にスクリーンショットがあります これは彼のディレクトリのスクリーンショットです
参考までに、エピソードのこの段階での実際のパーシャルは次のようになります
commented on <%= link_to activity.trackable.recipe.name, activity.trackable.recipe %>
これがうまくいかない理由を説明できますか?