【问题标题】:Rails add value to params with link_toRails 使用 link_to 为参数添加价值
【发布时间】:2016-08-18 19:41:23
【问题描述】:

在我的应用程序中,我创建了一个工作,在工作显示页面上,我尝试添加用于创建要添加到该工作的公司的链接:

Company belongs_to Job

在我的 Job show.html.erb 文件中,我有:

<%= link_to "Add Company", new_company_path(:job_id=>@job.id) %>

但是,在我的新公司控制器中,我有:

@job = params[:job_id]

返回零。检查params 哈希表明我的:job_id=&gt;@job.id 值没有被添加。

我做错了吗?或者我需要编辑 Rails 中的强参数,以便让我的值从 Job 显示页面转到 Company 控制器?

【问题讨论】:

  • 我建议阅读“How to Ask”和链接页面。他们将帮助您编写符合 SO 要求的问题。另外,请花时间正确大写(“rails”->“Rails”,“i”->“I”)。 SO 不是一个讨论板,它是一本在线参考书,就像一本关于编程问题和答案的百科全书或食谱,所以语法和拼写很重要。
  • params.require :job_id 产生了什么?如果它返回您的作业 id,那么这证实确实强参数是罪魁祸首。
  • 由于某种原因,当我将其更改为 new_company_path(job_id: @job.id) 时,它起作用了,我的值进入了参数哈希

标签: ruby-on-rails ruby model-view-controller controller params


【解决方案1】:

试试这个:

正在观看

<%= link_to "Add Company", new_company_path(job_id: @job.id) %>

在控制器上

@job = params[:job_id]

【讨论】:

  • 是的,我通过摆弄它让它以这种方式工作。我不确定为什么这种方式有效而另一种方式无效。除非它与您正在运行的 Rails 版本有关
猜你喜欢
  • 2010-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多