引发ArgumentError Rails中(ArgumentError in Rails)

2019-10-17 08:44发布

我想连接两个实体(项目和问题)和Rails说,一些错误信息,但我不知道,我该怎么办。 你能帮我解决这个问题,好吗? 非常感谢。

Answer 1:

不知道你正在尝试做的,但它看起来像你有一个嵌套的资源,因此想传递一个数组form_for ,但你实际上是通过两个独立的对象。 更改:

<%= form_for(@project, @project.issues.build) do |f| %>

至:

<%= form_for([@project, @project.issues.build]) do |f| %>

随着这一变化,你会经过一个数组form_for ,而不是两个参数。



Answer 2:

我认为你已经使用嵌套资源是这样的:

resources projects do
  resources issues
end

如果您使用的,尽量让你的表格是这样的:

<%= form_for([@project, @issue]) do |f| %>

并在IssueController:

def new
  @project = Project.new
  @issue = @project.issues.build(params[:issue])
end

def create
  @project = Project.find(params[:project_id]
  @issue = @project.issues.create(params[:issue]
end

并再次运行看到的东西发生。 希望这有助于。



文章来源: ArgumentError in Rails