[英]Must a rails controller return a view for each action?
我的rails users_controller
正在其update_tool
路径中接收ajax数据。 我的意图是通过工具的价格减少用户的dollars
,并将该工具的ID添加到用户的tool_id
(引用工具表)中。
我在params中收到:user_id
和:toolId
。
这是我的控制器:
def update_tool
redirect_to :index
@user = User.find(params[:user_id])
@tool = Tool.find(params[:toolId])
price = @tool.price
# subtract tool price from users dollars
@user.dollars = @user.dollars - price
# re-assign users tool_id reference ID
@user.tool_id = @tool.id
#store to database
@user.save
end
但是,当我触发此路径时,似乎什么也没有发生,并且在浏览器控制台中收到以下错误:
浏览器错误: PATCH http://localhost:3000/update_dollars 500 (Internal Server Error) jquery.js?body=1:5
我的服务器日志显示:
日志: ActionView::MissingTemplate (Missing template users/update_dollars, application/update_dollars....(etc)
我的控制器是否正在尝试查找要渲染的视图? 如果可以,为什么?
我该如何简单地让控制器更新数据库,而不采取任何进一步的措施?
你可以这样做:
render nothing: true
在您的update_tool
动作中。
请检查此作为参考:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.