我不知道如何有條件地包括「結束」的標籤ERB條件包括<% end %>標籤
我有這樣一個
_form_part_x.html.erb很多「形式的諧音」的(但是沒有按不適應我想做的事)
<%= form_for(@model) do |f| %>
<%= f.some_tag(...) %>
<% end %>
在很多意見中,我只需要渲染其中的一個人。
現在,問題是我想爲我的模型提供另一個大視圖,其中呈現所有這些部分(form_part_1,form_part_2;等等)。在我的情況下,我使用引導標籤,每個標籤都是一個部分,反過來,它會調用幾個部分form_part_x
來生成特定的字段。
但是我不想在我的HTML中有多個表單標籤,只是一個大的表單,所以一切都在同一時間保存。因此,在我的render tabX
之前,我編寫了用於生成HTML標記的代碼,並在呈現所有選項卡後關閉它。
simple_view.html.erb
<%= render 'form_part_x' %>
big_view.html.erb
<%= form_for(something) do |f| %>
<%= render 'tab1', f:f %>
<%= render 'tab2', f:f %>
...
<%= render 'tab5', f:f %>
<% end %>
_tab1.html.erb
<%= render 'form_part_10', f:f %>
<%= render 'form_part_23', f:f %>
_form_part_x.html.erb(這可能會適應我做什麼,如果我知道如何添加<%結束%>的<%內,如果%>阻止
所以基本上,我想我可以調整我的諧音來有條件包括<%= form_for(@model) do |f| %>
:
<%
# These lines help determine whether an HTML `form` tag should be generated or not
f ||= false
if not f then
existing_form = false
else
existing_form = true
%>
<% if not existing_form %>
# If the partial is called without sending a local f, we want to create the HTML `form` tag
<%= form_for(something) do |f| %>
<% end %>
<%= f.text_field(:some_field) %>
<p>Many more stuff</p>
<% if not existing_form %>
# If the partial is called without sending a local f, we want to CLOSE the newly created HTML `form` tag
<!-- I need to add an <% end %> here !
<% end %>
你想做什麼? – Surya 2014-12-19 09:53:44
我強烈地考慮走不同的路線;這會使關於頁面/表格/部分的推理更加困難。 – 2014-12-19 10:03:16
@Surya好吧,所以我有一些對應於相同模型的選項卡,但允許編輯不同的屬性。之前,我對每個不同的標籤都有一個表單,但後來我意識到這是愚蠢的,因爲只有對應於該標籤的參數纔會被保存。 (基本上,每個選項卡都有一個部分,並且每個選項都調用其他部分...) – 2014-12-19 10:20:01