【发布时间】:2015-02-01 18:44:38
【问题描述】:
我有一个简单的斯诺克联赛应用程序,我在 LeaguesController 中有一个动作 add_player。我的客户 (AngularJS) 调用此操作,我想使用 JBuilder 以 json 格式响应。这工作正常:
def add_player
...
render :json => @league.players.to_json(:only => [ :id, :firstname, :lastname, :max_break, :email ])
end
但是当我删除这一行并添加:
respond_to do |format|
format.html
format.json
end
我有这个错误:
ActionView::MissingTemplate (
Missing template leagues/add_player,
application/add_player
with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder, :haml]}.
Searched in:
* "/home/daniel/SitesWWW/snookerLeague/app/views"
):
app/controllers/leagues_controller.rb:67:in `add_player'
我当然有文件 add_player.json.jbuilder:
json.players @league.players do |player|
json.id player.id
json.firstname player.firstname.capitalize if player.firstname
json.lastname player.lastname.capitalize if player.lastname
json.email player.email
json.max_break player.max_break
end
那么,我该怎么办?
【问题讨论】:
标签: ruby-on-rails json angularjs jbuilder