【发布时间】:2012-10-15 16:46:41
【问题描述】:
我有一个数组@fields,它有文本和一个id,asset_id。 要将局部变量从控制器传递到渲染中的视图,我们使用
render(:template => "assets/invalid", :locals => {:asset_id => params[:id], :fields => @fields})
观点是
<div id="panel">
<script>
alert('Invalid values for ')
window.location = "../assets/"
</script>
</div>
这应该会生成一个弹出框。但是,我希望弹出框重定向到“../assets/asset_id”并显示“+ 字段的无效值”
以下不起作用,
<div id="panel">
<script>
var fields = fields
var asset_id = asset_id
alert('Invalid values for ' + fields )
window.location = "../assets/" + asset_id
</script>
</div>
【问题讨论】:
-
当你执行 rake 路由时,你会看到 /assets/:id 吗?
-
是的,我确实看到了。警报框重定向到 ../assets/。我希望它重定向到 ../assets/asset_id。
-
发布您如何获取asset_id 以及您希望如何发送它。由于它的 html.erb 你可以抓住它。
-
assets_id 来自控制器。我想将其发送到视图中的脚本以创建该资产的位置,即重定向到该 ID 页面。渲染中的 :local 应该将其发送到视图,不是吗? JS 必须为 window.location 创建该链接以重定向到。
标签: javascript ruby-on-rails ruby ruby-on-rails-3 partial-views