Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery rails控制器必须为每个操作返回一个视图吗?_Jquery_Ruby On Rails_Templates_Routing_Controllers - Fatal编程技术网

Jquery rails控制器必须为每个操作返回一个视图吗?

Jquery rails控制器必须为每个操作返回一个视图吗?,jquery,ruby-on-rails,templates,routing,controllers,Jquery,Ruby On Rails,Templates,Routing,Controllers,我的railsusers\u controller正在其update\u工具路径上接收ajax数据。 我的目的是通过工具的价格减少用户的美元,并将该工具的id添加到用户的工具id(它引用了一个工具表) 我在params中接收到:用户id和:工具id 这是我的控制器: def update_tool redirect_to :index @user = User.find(params[:user_id]) @tool = Tool.find(params[:toolId]

我的rails
users\u controller
正在其
update\u工具路径上接收ajax数据。
我的目的是通过工具的价格减少用户的
美元
,并将该工具的id添加到用户的
工具id
(它引用了一个工具表)

我在params中接收到
:用户id
:工具id

这是我的控制器:

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
但是,当我触发此路径时,似乎什么也没有发生,我在浏览器控制台中收到以下错误:

浏览器错误:
补丁http://localhost:3000/update_dollars 500(内部服务器错误)jquery.js?body=1:5

我的服务器日志显示:

日志:
ActionView::缺少模板(缺少模板用户/更新美元、应用程序/更新美元…(等)

我的控制器是否正在尝试查找要渲染的视图?如果是,为什么

如何让控制器更新数据库而不采取任何进一步的操作?

您可以这样做:

render nothing: true
在您的
更新工具中
操作

请勾选此项以供参考: