在我的 application_controller 中,我添加了:
def instantiate_controller_and_action_names
@current_action = action_name
@current_controller = controller_name
end
以便我根据当前操作在视图中显示/隐藏某些字段。例如,添加新用户时,我希望能够显示要填写的密码字段,但在编辑用户时,我不希望显示密码字段。
我遇到的问题是 @current_action 在创建新记录时只返回一个值'new',但在我编辑记录时没有返回一个值(例如- http://localhost:3000/users /6/edit),或者如果我使用相反的方法并检查 @current_action != 'new'...在这两种情况下我的字段是否仍在显示中。
<%if @current_action != 'new'%>
<tr><td>AAAAAAA</td></tr>
<%else%>
<tr>
<th class="">Password</th>
<th class="">Password Confirmation</th>
</tr>
<tr>
<td><%= f.password_field :password %></td>
<td><%= f.password_field :password_confirmation %></td>
</tr>
<%end%>
没有返回“编辑”是怎么回事和/或是否有更好/最佳实践方法来完成此操作?谢谢!