rails 3中的部分表单需要不同的链接,具体取决于New或Edit

Joe*_*der 9 ruby-on-rails link-to ruby-on-rails-3

我有一个由Rails 3脚手架生成的基本视图设置.它给了我一个局部视图_form.html.erb.我的edit.html.erb和我的new.html.erb都渲染了这个局部视图.

在局部视图中,我希望有一个link_to转到不同的路径,具体取决于它是由视图还是编辑视图呈现.

是否有捷径可寻?

我的代码目前看起来像这样,但不允许不同的路径.

<%= f.submit %> or <%= link_to 'Go back', models_path %>
Run Code Online (Sandbox Code Playgroud)

如果它有帮助,我试图将它们发送回他们来自的页面(它们来自不同的地方以进行添加和编辑)

nan*_*nda 48

你可以使用form.object.new_record吗?而不是params [:action]来知道你是在编辑还是创建(编辑视图与新视图).

例如:

<%= simple_form_for(@item) do |f| %>  
    <% if @item.new_record? %>  
       <%= f.input :lost_time, input_html: { value: DateTime.now } %>  
    <% else %>                      
       <%= f.input :lost_time, input_html: { value: @item.lost_time } %>    
    <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)


小智 5

我对Rails 3不太熟悉,但是希望它对您有用

<% if params[:action] == 'new' %>
    # code for new
<% elsif params[:action] == 'edit' %>
    # code for edit
<% end %>
Run Code Online (Sandbox Code Playgroud)

好运:D