ruby-on-rails - 通过 link_to 将参数传递给 'new' 操作

标签 ruby-on-rails ruby ruby-on-rails-3 link-to

Rails 新手,我被难住了。在 Rails 中,我有一个包含许多任务的项目模型。假设我有一个显示 5 个项目的 View ,每个项目都有一个“新任务”链接,以便用户可以向任何一个项目添加新任务。所以:

项目 1
新任务

项目 2
新任务 等

如果新任务链接看起来像

link_to '新任务', new_task_path

告诉任务 Controller 上的"new"操作单击了哪个链接的最佳方法是什么?我想我必须将 project_id 传递给新任务,但我不知道如何去做。

一如既往地感谢您的帮助!

最佳答案

取决于你的路由是如何定义的,但是如果任务被定义为一个项目的子资源(如下所示)那么它就非常简单了。

resources :projects do
  resources :tasks
end

这将生成如下路由:

new_project_task GET    /projects/:project_id/tasks/new(.:format)                         {:controller=>"tasks", :action=>"new"}

然后您可以通过以下方式链接到它:

link_to 'New Task', new_project_task_path(@project)

关于ruby-on-rails - 通过 link_to 将参数传递给 'new' 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5365956/

相关文章:

ruby-on-rails - 如何访问 Ruby 控制台中的命名空间方法?

ruby-on-rails - 使用 AuthLogic 保护内容

ruby-on-rails - ruby rails : How do I sum up these elements in my database?

ruby-on-rails - Factory Girl 有很多关系(和 protected 属性)

ruby-on-rails - 使用 Ruby 正确处理 Stripe 错误和异常以实现一次性收费

ruby-on-rails - Rails link_to分配类和ID

ruby-on-rails - 如何在运行 Ruby 2.7.0 时抑制 RSpec 中的警告

ruby - 在 Ruby 中检测 Linux 发行版/平台

ruby - 为特定值切片参数散列

ruby - 关于ruby的自由 float 方法