加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails:将参数从视图传递到控制器

发布时间:2020-12-17 02:38:19 所属栏目:百科 来源:网络整理
导读:我在轨道中有以下型号: class Task ActiveRecord::Base attr_accessible :description,:name,:project belongs_to :project validates :name,:presence = trueendclass Project ActiveRecord::Base attr_accessible :name has_many :tasksend 我有一个列出
我在轨道中有以下型号:

class Task < ActiveRecord::Base
  attr_accessible :description,:name,:project
  belongs_to :project

  validates :name,:presence => true

end

class Project < ActiveRecord::Base
  attr_accessible :name
  has_many :tasks
end

我有一个列出可用项目的视图单击任何项??目我要打开一个列出所单击项目中所有任务的页面.现在的问题是如何传递项目ID?我还希望项目ID在之后的许多控制器中可见,所以我认为我应该使用会话变量或类似的东西?

解决方法

您想要使用嵌套资源

的routes.rb

resources :project do
  resources :tasks
end

这将允许你做<%= link_to'任务',tasks_project_path(@project)%>

然后你有一个控制器用于任务,参数包括:project_id / projects /:project_id / tasks

然后在控制器中:

class TasksController < ApplicationController
  def index
    @project = Project.find(params[:project_id])
    @tasks = @project.tasks
  end
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读