我想连接两个实体(项目和问题),Rails说一些错误信息,但我不知道,我该怎么做。你能帮帮我解决吗?非常感谢。
答案 0 :(得分:1)
不确定您要做什么,但看起来您有一个嵌套资源,因此想要将数组传递给form_for
,但实际上您传递了两个单独的对象。变化:
<%= form_for(@project, @project.issues.build) do |f| %>
为:
<%= form_for([@project, @project.issues.build]) do |f| %>
通过此更改,您将为form_for
传递一个数组,而不是两个参数。
答案 1 :(得分: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
再次跑去看看有什么事情发生。希望这有帮助。