加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 嵌套资源的表单

发布时间:2020-12-17 04:23:42 所属栏目:百科 来源:网络整理
导读:我已经完成了大量的form_for嵌套资源问题,无法让任何解决方案适合我.我想是时候问一个个性化的问题了. 我有两个模型,工作和问题,工作有很多问题和问题属于工作. 我使用scaffolding创建控制器和模型,然后嵌套routes.rb中的资源. root :to = "pages#home"resou
我已经完成了大量的form_for嵌套资源问题,无法让任何解决方案适合我.我想是时候问一个个性化的问题了.

我有两个模型,工作和问题,工作有很多问题和问题属于工作.

我使用scaffolding创建控制器和模型,然后嵌套routes.rb中的资源.

root :to => "pages#home"

resources :jobs do
   resources :questions
end

get "pages/home"
get "pages/about"
get "pages/contact"


class Job < ActiveRecord::Base
   has_many :questions
end

class Question < ActiveRecord::Base
   belongs_to :job
end

现在我正在尝试访问’/ jobs / 1 / questions / new’并继续获取

问题#new中的NoMethodError

当代码出现时,我开始使用错误No route matches {:controller =>“questions”}

<%= form_for(@question) do |f| %>

我知道这是错的,所以我开始尝试其他组合,但没有一个工作.

我试过了

<%= form_for([@job.questions.build ]) do |f| %>

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

<%= form_for(@job,@question) do |f| %>

在一堆其他组合中,并没有工作.

这是我的rake路线的链接:git clone https://gist.github.com/1032734

任何帮助表示赞赏,如果您需要更多信息,请告诉我,谢谢.

解决方法

我只是将URL作为额外选项传递:
<%= form_for(@question,:url => job_questions_path(@job)) do %>

编辑:

还试试:

form_for([@job,@question])

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读