ruby-on-rails - 如何将一个对象的 id 传递给另一个对象的 Controller ?

标签 ruby-on-rails ruby parameters

我知道有人问过这个问题,但没有解决方案有效。

我正在尝试将组 ID 传递给过程 Controller ,以便我可以使该过程属于该组。

小组展示 View :

  <%= link_to 'Create a Procedure', new_procedure_path(:group => @group.id), class: 'btn btn-default btn-small' %>

程序 Controller :

  def new
    @procedure = Procedure.new
    @group = Group.find(params[:group])

路线:

  resources :groups, only: [:new, :create, :show, :destroy]
  resources :procedures

最佳答案

如果需要 group_id,请将其作为 url 的一部分,并且在表单 View 中不需要它。您将在参数中包含 group_id:params[:group_id] 是 Controller 所期望的。

resources :groups, only: [:new, :create, :show, :destroy] do
  resources :procedures
end

在您的 Controller 中,执行以下操作:

def new
  @group = Group.find(params[:group_id])
  @procedure = @group.procedures.new
end

你会像这样链接到新页面

<%= link_to 'Create a Procedure', new_group_procedure_path(@group), class: 'btn btn-default btn-small' %>

关于ruby-on-rails - 如何将一个对象的 id 传递给另一个对象的 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34644585/

相关文章:

ruby-on-rails - ruby - File.open 和重命名后权限被拒绝

ruby-on-rails - 工厂女孩 : Creating associated records

c++ - 如何避免out参数?

jquery - 如何使用 jQuery 或纯 JavaScript 获取 URL 参数?

machine-learning - 分类器中的 scikit-learn retrofit /部分拟合选项

ruby-on-rails - rails : elegantly reduce duplication when using json to create objects

ruby-on-rails - Ruby 每个循环用逗号分隔

json - 使用 JSON.parse 解析 OpenStruct 或哈希

ruby-on-rails - 用一段独立的代码扩展 Ruby 类

ruby - #<无方法错误: undefined method `any?' for nil:NilClass>