Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何创建以下路线_Ruby On Rails - Fatal编程技术网

Ruby on rails 如何创建以下路线

Ruby on rails 如何创建以下路线,ruby-on-rails,Ruby On Rails,Rails初学者,请不要咬。我已经接管了rails应用程序的维护/开发,但仍在学习诀窍 我想生成以下路线: /活动/1/项目/2/承诺 其中1是事件Id,2是项目Id 我有一个项目控制器和事件控制器。保证行动由项目控制员承担 编辑:回答@wacko下面的评论 a) 忽略我要求的url的大小写和复数形式(我意识到这在某种程度上使原始问题无效…) 一个活动有多个项目,承诺操作会将用户带到一个页面,在该页面上,用户可以为特定项目输入多个承诺 也许应该改为在事件控制器上执行保证操作 URL类似于“eve

Rails初学者,请不要咬。我已经接管了rails应用程序的维护/开发,但仍在学习诀窍

我想生成以下路线:

/活动/1/项目/2/承诺

其中1是
事件Id
,2是
项目Id

我有一个项目控制器和事件控制器。保证行动由项目控制员承担

编辑:回答@wacko下面的评论

a) 忽略我要求的url的大小写和复数形式(我意识到这在某种程度上使原始问题无效…)

一个活动有多个项目,承诺操作会将用户带到一个页面,在该页面上,用户可以为特定项目输入多个承诺

也许应该改为在事件控制器上执行保证操作


URL类似于“events/1/credit/2”(其中2是projectId)

以下内容应该可以使用

get '/events/:event_id/projects/:id/pledge' => 'projects#pledge'

在控制器操作中,您可以从参数散列中获取事件id和项目id,分别为
params[:event\u id]
params[:id]
,以下操作应该有效

get '/events/:event_id/projects/:id/pledge' => 'projects#pledge'
resources :events do
  resources :projects do
    member do
      get :pledge
    end
  end
end
在控制器操作中,可以从参数散列中获取事件id和项目id,分别为
params[:event\u id]
params[:id]

resources :events do
  resources :projects do
    member do
      get :pledge
    end
  end
end
您可以将
get
更改为所需的
http
方法。 如果您需要类似于
/events/1/projects/credit

collection do
  get :pledge
end
从项目根文件夹运行
rake routes
,查看生成的路由列表

resources :events do
  resource :projects do
    resources :pledge
  end
end
您可以将
get
更改为所需的
http
方法。 如果您需要类似于
/events/1/projects/credit

collection do
  get :pledge
end
从项目根文件夹运行
rake routes
,查看生成的路由列表

resources :events do
  resource :projects do
    resources :pledge
  end
end
这将使您能够在控制器中设置作用域,并可以访问所有7个REST谓词


这将使您能够在控制器中设置作用域,并访问所有7个REST谓词。您要查找的称为嵌套资源,也就是说,两个资源之间存在父子关系

resource :events do
  resource :projects do
    get :pledge, :on => :member
  end
end
为了让它工作,你的模型应该是这样的

class Event < ActiveRecord::Base
  has_many :projects
end
class事件

class项目
您正在寻找的称为嵌套资源,也就是说,两个资源之间存在父子关系

resource :events do
  resource :projects do
    get :pledge, :on => :member
  end
end
为了让它工作,你的模型应该是这样的

class Event < ActiveRecord::Base
  has_many :projects
end
class事件

class项目
jsut使用这种方式

resources :events do
 resource :projects do
   get '/pledge'
 end
end
我们应该这样做

resources :events do
 resource :projects do
   get '/pledge'
 end
end

您还可以使用
:on
来消除最后一个块:
获取:保证,on::member
您还可以使用
:on
来消除最后一个块:
获取:保证,on::member
您能描述一下模型之间的关系吗?只是为了证实。。。
事件
是否有复数形式,
项目
质押
是否有单数形式和大写字母?我希望有一个像
/events/1/projects/2/requestment
(或…/requests)这样的url。你能描述一下模型之间的关系吗?只是为了证实。。。
事件
是否有复数形式,
项目
质押
是否有单数形式和大写字母?我希望有一个像
/events/1/projects/2/requirement
(或…/requirements)这样的url事件关系为has_和_属于_许多:项目&项目关系为has_和_属于_许多:事件这一事实会改变您的任何建议吗?多对多关系应该使用此路由逻辑。事件关系为has_和_属于_许多:项目&项目关系是否会改变_和_是否属于_-many:事件会改变您的任何建议?多对多关系应使用此路由逻辑