基于Rails 4中新建和编辑表单的控制器操作的条件
我有一个在新视图和编辑视图中呈现的表单:
由于我的编辑forms应该略有不同: simple_form_for([@category, @course])
,有没有办法根据控制器动作(编辑或新建)编写条件?
# if controller action is new #if controller action is edit
您可以使用action_name
<% if action_name == 'edit' %> # <% else %> # <% end %>
或者为了非常安全,还要使用controller_name
<% if controller_name == 'cources' && action_name == 'edit' %>
您可以使用此代码:
- array_object = @course.new_record? ? [@course] : [@category, @course]
要么
- array_object = action_name == 'new' ? [@course] : [@category, @course]
然后执行以下操作:
<%= simple_form_for(array_object, html: {class: "form-horizontal"}) do |f| %>
了解new_record? 辅助方法