Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.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 Rails-在哪里放置路径助手?_Ruby On Rails_Rspec - Fatal编程技术网

Ruby on rails Rails-在哪里放置路径助手?

Ruby on rails Rails-在哪里放置路径助手?,ruby-on-rails,rspec,Ruby On Rails,Rspec,对于我正在编写的rails应用程序,有很多用户,用户有很多项目。我已经编写了一个帮助函数来帮助链接到页面 def new _or_edit_user_path( *user ) if user[0] && user[0].id edit_user_path user[0] else new_user_path end end 及 但现在我想测试这些,很明显rails不希望我这样做。您有什么建议?rails的路由页面为您提供了一种更好的链接方式 如果您

对于我正在编写的rails应用程序,有很多用户,用户有很多项目。我已经编写了一个帮助函数来帮助链接到页面

def new _or_edit_user_path( *user )
  if user[0] && user[0].id
    edit_user_path user[0]
  else
    new_user_path
  end
end


但现在我想测试这些,很明显rails不希望我这样做。您有什么建议?

rails的路由页面为您提供了一种更好的链接方式

如果您对这种方法不太熟悉,可以进入项目的根文件夹(在那里您称为rails s)并执行“rake路由”。这将为您提供使用此方法添加的路由

以下是嵌套资源的示例:

resources :users do
  resources :projects
end

将这些路径放入
app/helpers
中,并将它们包含在您使用它们的任何控制器中(您的视图已经可以使用它们)。通过包括
Rails.application.routes.url\u helpers来测试它们,这就是我现在得到它的方式。介意详细介绍一下Rails.application.routes.url\u helpers吗?我正在这么做。但我希望能够将条件逻辑移出我的视图。我试图避免的是这样一行
,然后是指向新项目路径的链接。另外,还有一个链接指向第一个项目的编辑。
resources :users do
  resources :projects
end