ruby-on-rails – 如何在rails中将对象从一个控制器传递到另一个
发布时间:2020-12-16 19:29:33 所属栏目:百科 来源:网络整理
导读:我一直试图把我的头脑放在render_to,但我没有取得多大成功. 基本上我有控制器方法: def first #I want to get the value of VAR1 hereenddef second VAR1 = ["Hello","Goodbye"] render_to ??end 我无法弄清楚的是如何实现这一目标.最初我只想渲染first.htm
我一直试图把我的头脑放在render_to,但我没有取得多大成功.
基本上我有控制器方法: def first #I want to get the value of VAR1 here end def second VAR1 = ["Hello","Goodbye"] render_to ?? end 我无法弄清楚的是如何实现这一目标.最初我只想渲染first.html.erb文件,但这似乎也没有用. 谢谢 编辑:我很欣赏我收到的答案,但是他们都倾向于避免使用render方法或redirect_to.基本上情况是你不能将变量从控制器传递给控制器??吗?我不得不认为有一些方法,但我似乎无法找到它. 解决方法
将对象分配给常量不是一个好主意.确实,这是在全球空间,但它对每个人都是全局的,因此任何其他用户转到此请求都将获得此对象.有一些解决方案.
我假设你有一个多步形式,你正在经历.在这种情况下,您可以将设置属性作为隐藏字段传递. <%= f.hidden_field :name %> 如果有很多字段,这可能很乏味,因此您可能需要循环使用params […] hash或column_names方法来确定要传递的属性. 或者,您可以在session中存储属性. def first @item = Item.new(params[:item]) session[:item_attributes] = @item.attributes end def second @item = Item.new(session[:item_attributes]) @item.attributes = params[:item] end 第三,正如Paul Keeble所述,您可以将模型保存到数据库,但将其标记为不完整.您可能需要使用state machine. 最后,您可能想看看Acts As Wizard plugin. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |