我正在尝试提交表单并继续遇到此错误:
No route matches [POST]
这是我的表格:
<%= form_for(@issue) do |f| %>
<%= render 'fields', :f => f %>
<div class="actions">
<%= f.submit "Submit" %>
</div>
<% end %>
和我的路线:
resources :apps do
resources :issues
end
我认为我错过了定义哪个应用程序在form_for中的内容,但我不确定?
这是我的问题创建行动:
def create
@issue = Issue.new(params[:issue])
@issue.app_id = params[:app_id]
if @issue.save
flash[:success] = "Issue added!"
redirect_to @issue
else
render 'new'
end
end
答案 0 :(得分:2)
您还需要将应用程序放在表单中。因为你有问题嵌套在应用程序中。
<%= form_for([@app, @issue]) do |f| %>
<%= render 'fields', :f => f %>
<div class="actions">
<%= f.submit "Submit" %>
</div>
<% end %>
因为您有这样的路线apps/:app_id/issues/:issues_id
您需要在控制器中获取@app。
您可以使用以下命令检查可用路线:rake routes