gpt4 book ai didi

ruby-on-rails-3.2 - js.erb 未呈现 - ActionView::MissingTemplate

转载 作者:行者123 更新时间:2023-12-04 07:44:27 25 4
gpt4 key购买 nike

我有一个名为 feed.js.erb 的 View 文件,它位于 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 中的 Controller Action 是

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]}

这很奇怪,因为我已经通过另一个 Controller 从创建中成功渲染了 js.erb。我知道这很简单,但我似乎无法破解它。非常令人沮丧。任何帮助将不胜感激!

最佳答案

你试过吗

  respond_to do |format|
format.js
end

甚至

render :template => 'sports/feed'

在您成功的 if 语句 block 中?这会强制 Controller 格式化 js.erb

关于ruby-on-rails-3.2 - js.erb 未呈现 - ActionView::MissingTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14317571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com