繁体   English   中英

Rails控制器必须为每个动作返回一个视图吗?

[英]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动作中。

请检查此作为参考:

http://guides.rubyonrails.org/layouts_and_rendering.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM