Ruby on rails 不能';找不到与';id'=用ajax显示
我正在使用NetBeans IDE、rails 4、ruby 2.2.0。我试图使用ajax来显示“show”页面,但是,取而代之的是,获取“id”=show error的“找不到”事务。在format.html中,我使用一个“id”属性来设置事务值,在ajax中如何实现这一点Ruby on rails 不能';找不到与';id'=用ajax显示,ruby-on-rails,ruby,ajax,Ruby On Rails,Ruby,Ajax,我正在使用NetBeans IDE、rails 4、ruby 2.2.0。我试图使用ajax来显示“show”页面,但是,取而代之的是,获取“id”=show error的“找不到”事务。在format.html中,我使用一个“id”属性来设置事务值,在ajax中如何实现这一点 format.html { render :action => 'show',:id=>@transaction } --- id is set format.js {render :js =>
format.html { render :action => 'show',:id=>@transaction } --- id is set
format.js {render :js => "window.location = '/transactions/show'"} --
- how do I set an 'id' property in js?
谢谢。假设事务的路由是按照rails约定定义的,您只需执行以下操作:
"window.location='#{transaction_path(@transaction)}'"
如果这不起作用,请添加
routes.rb文件的内容,以便我们正确回答。假设事务的路由是按照rails约定定义的,您只需执行以下操作:
"window.location='#{transaction_path(@transaction)}'"
如果这不起作用,请添加routes.rb文件的内容,以便我们能够正确回答。在上述内容中,只需进行以下编辑:
format.js {render :js => "window.location = '/transactions/#{@transaction.id}'"}
# the above should render something like '/transactions/12345' as the URI/URL
简而言之,/transactions/show
不是标准Rails显示页面的有效URI。在终端窗口中,运行rake routes
,您将看到事务和所有其他路由的类似内容:
transactions GET /transactions/:id(.:format) transactions#show
所以。。。上面路由描述中的:id需要是已保存对象/实例的实际id,而不是创建链接时的字符串“show”。通过这种方式,Rails路由器知道如何处理请求(即,调用哪个控制器,传递什么数据,等等) 在上述内容中,只需进行以下编辑:
format.js {render :js => "window.location = '/transactions/#{@transaction.id}'"}
# the above should render something like '/transactions/12345' as the URI/URL
简而言之,/transactions/show
不是标准Rails显示页面的有效URI。在终端窗口中,运行rake routes
,您将看到事务和所有其他路由的类似内容:
transactions GET /transactions/:id(.:format) transactions#show
所以。。。上面路由描述中的:id需要是已保存对象/实例的实际id,而不是创建链接时的字符串“show”。通过这种方式,Rails路由器知道如何处理请求(即,调用哪个控制器,传递什么数据,等等) 而不是:
format.js {render :js => "window.location = '/transactions/show'"}
做:
此处transactions\u路径(@transaction)
将计算为事务显示页面的相对路径。问题在映射到routes.rb中的/transactions/show
中。在TransactionController#show
中,代码试图查找id为show
的交易,因此出现错误。而不是:
format.js {render :js => "window.location = '/transactions/show'"}
做:
此处transactions\u路径(@transaction)
将计算为事务显示页面的相对路径。问题在映射到routes.rb中的/transactions/show
中。在transactioncontroller#show
中,代码试图查找id为show
的事务,因此出现错误。您在什么路径上遇到此错误?您在什么路径上遇到此错误?如果事务路径发生变化(在正常情况下不会发生变化),这将在今后的道路上造成问题。。。你的答案是绝对正确的,但是,解决方案有点脆弱,因为不使用路径辅助程序进行路由。我同意。。。我的回答与她的问题更直接相关,但我再次完全同意,助手是一种更理想的方法。如果交易的路径发生变化(正常情况下不会发生变化),这将导致今后的问题。。。你的答案是绝对正确的,但是,解决方案有点脆弱,因为不使用路径辅助程序进行路由。我同意。。。我给出了一个与她的问题更直接相关的答案,但我再次完全同意助手是一个更理想的方法。