2014-11-08 15 views
5

Yeni kullanıcı oluşturmak için alanlar listesinin kısmi olarak oluşturduğu raylar formum var. Düzenleme formunu oluşturmak için kullandığım alanlar. Düzenleme bölümüne belirli bir alan (yani bölüm) gösterilmemesinin mümkün olup olmadığını merak ediyorum, çünkü departmanı değiştirmek için kullanıcılara seçenek vermek istemiyorum.Eylem düzenleniyorsa form alanını gösterme

cevap

1

Parametreleri ise [: aksiyon] düzenlemek bu alanın Birçok yönden yapılabilir ekran hiçbiri

+0

Ben denedim, ama saha sonradan hem eylemler, yeni ve düzenleme :( –

+0

ancak yeni durumda .. eylem yeni olması ve saha gösterilmesi gereken düzenleyebilir olmaz gösterilmez. yeni eylem durumunda başka bir durum gösterme alanı kullan yoksa gizlemek –

1

kullanarak olabilir görünmüyor sonra olduğunu.

Genellikle Sadece forma atacak

if [email protected]_record? 
# department field. 
end 
+0

Bu işe yaramazsa da, yeni bir parçayı almıyorum? new_record için userController'da bir yöntem var mı? ya da bazı yerleşik raylar yöntemi mi? –

+0

yerleşik, '@ user' bir AR nesnesidir – Nithin

2

gibi yapmak:

<%= f.text_field :department unless @user.new_record? %> 
9

Sen kalıcı kullanabilir? yöntemi, eklenecek veya new_record kullanılabilecek yeni bir kayıt olmadığından emin olmak için bir yöntem midir? "Yeni kayıt" veritabanında kayıt kalıcı değilse yöntemi geri dönecektir. ex ::

<%= f.text_field :department if @user.persisted? %> 
or 
<%= f.text_field :department unless @user.new_record? %> 

bir yol daha da farklı görünümden kısmi render eğer denetleyici üzerinde kontrol sağlıyor eylem kendisi hakkında kontrol etmek ve belirli denetleyiciye sınırlamak isteyebilirsiniz, bu depolandığı içinde ::

params[:controller] -->> contains the name of the controller ex. UserController that you just hit on 
params[:action] -->> contains the action name ex. new or edit 
İlgili konular