2015-04-08 2 views
0

Если вы нашли приглашение, пользователь не должен указывать адрес электронной почты. Я сделал это, не так ли?можно ли избежать дублирования кода?

можно ли избежать дублирования кода?

<% if @invitation %> 
    <%= f.email_field :email, class: 'form-control', placeholder: t('.placeholder.email'), value: @invitation.email %> 
<% else %> 
    <%= f.email_field :email, autofocus: true, class: 'form-control', placeholder: t('.placeholder.email') %> 
<% end %> 

ответ

2

Вы могли бы сделать это без условно, так как:

f.email_field :email, class: 'form-control', placeholder: t('.placeholder.email'), value: @invitation && @invitation.email, autofocus: [email protected] 
1

немного трудно читать, но вы можете объединить ваши варианты:

<% f.email_field(:email, {class: 'form-control', placeholder: t('.placeholder.email')}.merge(@invitation ? {value: @invitation.email} : {autofocus: true})) %> 
Смежные вопросы