1

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

错误画面

4

2 回答 2

1

不确定您要做什么,但看起来您有一个嵌套资源,因此想要将一个数组传递给form_for,但实际上您传递的是两个单独的对象。改变:

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

到:

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

通过此更改,您将传递一个数组 for form_for,而不是两个参数。

于 2012-11-02T13:05:22.127 回答
0

我认为您使用过这样的嵌套资源:

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

并再次运行以查看发生了什么。希望这有帮助。

于 2012-11-02T14:01:34.487 回答