gpt4 book ai didi

ruby-on-rails - 将实例或局部变量从布局传递到 Rails 中的 View

转载 作者:太空宇宙 更新时间:2023-11-03 16:58:13 25 4
gpt4 key购买 nike

我正在尝试使用 form_for 设置一个相当复杂的表单。此表单需要在多个 View 中显示,其中某些字段将在所有操作中可用,而其他字段则特定于每个单独的操作。

我想为了节省自己的代码重复,我会使用布局来渲染一般部分,像这样:

# layout.html.erb
<%= form_for @instance do |f| %>
<%= f.text_field :foo %><!-- This field needs to be available in all views -->
<...><!-- Additional non-form related html -->
<%= yield %>
<%= f.submit %>
<% end %>

# first_view.html.erb
<% f.fields_for :bar do |b| %>
<%# Fields %><!-- These fields should only be available in first_view -->
<% end %>

# second_view.html.erb
<% f.text_field :baz %><!-- This field should only be available in second_view -->

现在,问题是我无法将 f 作为局部变量从布局传递到 View 。我什至无法设置实例变量(例如 @f = f)并在 View 中访问它。

我该怎么做?欢迎提出任何更好实现的建议。

最佳答案

您能否将表单提取到一个部分中,该部分将“:bar”或“:baz”字段作为本地字段,由呈现该部分的 View 传递?

render :partial => 'complex_form' :locals => { :text_field_param => :bar }

上面的行将在 first_view 中调用,部分将包含所有表单逻辑和标记,使用“text_field_param”作为专门的文本字段。

关于ruby-on-rails - 将实例或局部变量从布局传递到 Rails 中的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3928899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com