маршрут или апплоги - PullRequest
       1

маршрут или апплоги

0 голосов
/ 18 августа 2011

пытается заставить направлять рельсы на "click" и просто не получает

есть проект и модель задачи:

class Task
  include Mongoid::Document

  field :title,                     :type => String
  has_many :projects
  belongs_to :user
end


class Project

  include Mongoid::Document

  field :title,                     :type => String
  has_and_belongs_to_many           :tasks
  belongs_to                        :user
end

Я хочу "связать" задачу с проектом так у меня это в контроллере проекта:

def connect
  @project = Project.find(params[:id])
  @project.tasks_ids.push(params[:task_id])
  @project.save
  redirect_to project
end

по этому маршруту:

resources :projects do
    match 'connect/:id' => 'projects#connect', :as => :connect, :via => :put
    resources :tasks
end

Я не могу заставить это работать в представлении:

 = link_to 'Associate Task', project_connect_path(@task)

не удается с:

Не найдено ни одного маршрута {: controller => "projects",: action => "connect"}

Ответы [ 2 ]

0 голосов
/ 18 августа 2011
resources :projects do
  member do
   put :connect
  end
  resources :tasks
end

Ваш путь должен выглядеть следующим образом:

= link_to 'Associate Task', project_connect_path (@project,: task_id => @ task.id),: method =>: put

0 голосов
/ 18 августа 2011

Попробуйте сделать это:

resources :projects do
member do
 put 'connect'
end
resources :tasks
end

или вы можете написать свой маршрут выше resources :projects do ... и вот ссылка, вы можете узнать больше о маршрутах там: Rails route

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...