2014-11-08 70 views

回答

1

如果PARAMS [:行動]爲編輯則不會顯示該字段可能是通過使用顯示器沒有

+0

我試過,但該領域的後來不同時行動,新的編輯:( – 2014-11-08 12:18:57

+0

但在新的情況下..行動將是新的,然後不能編輯字段應該顯示出。如果其他條件顯示字段使用其他情況下隱藏它 – 2014-11-08 18:10:21

1

它可以通過多種方式來完成。

我通常不喜歡它

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

它不起作用,但我沒有得到的部分new_record?我應該在我的userController for new_record有一個方法?或者它是一些內置的導軌方法?內置的 – 2014-11-08 12:18:22

+0

,'@ user'是一個AR對象 – Nithin 2014-11-08 12:29:49

2

只要把你的形式:

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

您可以使用堅持?方法確保它不會插入新記錄,甚至使用new_record?如果記錄沒有保存在數據庫「新記錄」中,它將返回true。 前::

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

另一種方式是檢查有關的行動本身,這也給了你控制的控制器上,如果您呈現來自不同的看法偏,你想將其限制在特定的控制器,這些被存儲在::

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 
相關問題