2016-09-05 3 views
0

編集用に部分的なフォームをレンダリングしようとしていますが、そのフォームの特定の部分を編集アクションに表示したくありません。私は通常のフォーマットレンダリングを使用しています。Rails 5、特定の入力なしでフォームをレンダリングする

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

と私は

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

特定の部門を表示したくないありがとう、

+0

でのdivをラップすることができますlink.persisted? '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

あなたは `if

このような
<% if @link.new_record? %> 
    <div class="form-group"> 
    <%= f.label :Description %><br> 
    <%= f.text_area :description, class: "form-control" %> 
<% end %> 
関連する問題