0
我正在为一些练习构建一个简单的待办事项应用程序。我有项目has_many任务和任务belongs_to项目。嵌套的路线和网址在轨道中的点
所以,我可以显示网址/项目/ 1 /任务我嵌套的路线:
的routes.rb
resources :projects do
resources :tasks
end
在我的项目显示视图我有以下形式:
Add a task:
<%= form_for [@project, @task] do |f| %>
<%= f.label :Task_name %>
<%= f.text_field :name, :placeholder => "Task Name" %>
<%= f.submit 'Create Task' %>
<% end %>
在我的任务控制器我做了以下内容:
def create
@project = Project.find(params[:project_id])
@task = @project.tasks.new(params[:task])
if @task.save
redirect_to projects_path(@project)
else
redirect_to projects_path(@project)
end
end
似乎对task.save当我重定向和重定向我的项目实例变量传递给http://todoapp.dev/projects.5(5分项目的ID),而不是http://todoapp.dev/projects/5。
问题可能在我的控制器与redirect_to方法或可能嵌套的路线?
我对Rails路由有一个基本的了解,但可以使用一些建议。