我想连接两个实体(项目和问题),Rails 说一些错误消息,但我不知道该怎么办。请你帮我修一下好吗?非常感谢。
问问题
2495 次
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 回答