我有一个名为 feed.js.erb 的视图文件,它位于 app/views/sports/feed.js.erb 中,其中包含:
<% if @newsfeed.nil? %>
alert("No news items for #{@athlete.nil? ? @team : @athlete.full_name}!")
<% else %>
$("#sportfeed").append("<%= j render 'newsfeeds/newsfeed', feed: @newsfeed %>");
<% end %>
SportsController 中的控制器动作是
def feed
if params[:sport]
@newsfeed = get_sport_news(Sport.find(params[:sport]))
elsif params[:athlete]
@athlete = params[:athlete]
@newsfeed = get_athlete_news(Athlete.find(params[:athlete]))
elsif params[:team]
@team = params[:team]
@newsfeed = get_team_news(@sport.id, params[:team])
end
end
routes.rb 中的路线是:
resources :sports do
collection do
get :feed
end
end
我得到的是
ActionView::MissingTemplate (Missing template sports/feed, application/feed with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}
这很奇怪,因为我已经通过另一个控制器成功地从 create 渲染了 js.erb。我知道这很简单,但我似乎无法破解它。非常令人沮丧。任何帮助,将不胜感激!