_form.html.erb

时间:2017-04-19 21:33:26

标签: ruby-on-rails

我试图了解为什么对于典型的嵌套资源,为什么我们需要这样做

<%= form_for [@project,@ticket] do |f| %>

而不是说:

<%= form_for [@project,@project.ticket] do |f| %>无法正常工作,等等。

我会真正感谢[@project, @ticket]部分的解释器,因为我理解它是单个控制器,但不是嵌套的。

routes.rb

Rails.application.routes.draw do

    root "projects#index"

    resources :projects do 
        resources :tickets 
    end

end

1 个答案:

答案 0 :(得分:0)

我不知道为什么必须以这种方式使用,但是,如果你更舒服,你可以使用类似的东西:

<%= form_for @project do |p| %>
  ...
  <%= fields_for :ticket, @project.ticket do |t| %>
    ...
  <% end %>
  ...
<% end %>

您可以查看FormHelper documentation。它给出了每种可能的关联的例子。

我希望它可以帮到你。