2016-09-05 4 views
0

Я пытаюсь отобразить частичную форму для редактирования, но я не хочу, чтобы определенная часть этой формы отображалась в действии редактирования. Я использую обычный рендеринг формата.Rails 5, визуализировать форму без определенного ввода

<%= render 'form', link: @link %> 

и я не хочу, чтобы показать специальное подразделение

<div class="form-group"> 
<%= f.label :Description %><br> 
<%= f.text_area :description, class: "form-control" %> 

Спасибо вам,

+0

' link.persisted? 'if true, означает, что вы его редактируете, если false, это новая ссылка. – lcguida

ответ

1

Вы можете добиться того, что что-то вроде: только показать это div если объектом является новая запись:

<% if f.object.new_record? %> 
    <div class="form-group"> 
    <%= f.label :Description %><br> 
    <%= f.text_area :description, class: "form-control" %> 
    </div> 
<% end %> 

Другой подход должен был бы передать дополнительный аргумент парциальное:

<% if allow_description %> 
    <div class="form-group"> 
    <%= f.label :Description %><br> 
    <%= f.text_area :description, class: "form-control" %> 
    </div> 
<% end %> 

И потом:

# new action 
<%= render 'form', link: @link, allow_description: true %> 

# edit action 
<%= render 'form', link: @link, allow_description: false %> 
+0

Спасибо, первый способ работал для меня отлично :) –

1

Вы можете обернуть DIV с if как этот

<% if @link.new_record? %> 
    <div class="form-group"> 
    <%= f.label :Description %><br> 
    <%= f.text_area :description, class: "form-control" %> 
<% end %> 
Смежные вопросы