Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:访问父资源_Ruby On Rails_Routing - Fatal编程技术网

Ruby on rails Rails:访问父资源

Ruby on rails Rails:访问父资源,ruby-on-rails,routing,Ruby On Rails,Routing,我得到的config/routes.rb文件如下: map.resources :categories, :shallow => true do |cat| cat.resources :entries, :member => {:yes => :post, :no => :post } end map.resources:categories,:shallow=>true do | cat| cat.resources:entries,:member=>{:yes=>:post,

我得到的config/routes.rb文件如下:

map.resources :categories, :shallow => true do |cat| cat.resources :entries, :member => {:yes => :post, :no => :post } end map.resources:categories,:shallow=>true do | cat| cat.resources:entries,:member=>{:yes=>:post,:no=>:post} 结束 我的目标是使用“是”和“否”按钮来修改我的条目(这就像一个游戏,是和否是条目的答案)

我希望当我点击yes或no时,我会回到category/:category_id/条目,因为那里有漂亮的布局,等等

问题是,我从entries/:entry\u id获得了yes方法,因此我丢失了该条目所在的类别id,我不知道如何获得该类别的链接


我想我可以尝试不使用:shallow参数,所以我得到了完整的路径,但我可能会在层次结构中进一步(条目可能有注释),我想学习这个简单的问题如何管理这种情况

在按钮中,您可以指定如下类别:

link_to "Yes", yes_entry([@category, Entry.new]), :method => :post
但我不确定它是否有效,否则您可以尝试:

link_to "Yes", yes_entry(Entry.new, :category_id => @category), :method => :post

在按钮中,您可以按如下方式指定类别:

link_to "Yes", yes_entry([@category, Entry.new]), :method => :post
但我不确定它是否有效,否则您可以尝试:

link_to "Yes", yes_entry(Entry.new, :category_id => @category), :method => :post
你试过了吗?我没有使用:shallow选项(这个解决方案可能没有),但是resource\u controller支持某种多态资源(您可以使用url,比如:/entries、/category/3/entries、/whatever/12/entries等等)。然后,您可以使用以下内容生成指向条目的url:

<%= link_to 'Entries', collection_path %> 
响应“是”和“否”操作

你试过了吗?我没有使用:shallow选项(这个解决方案可能没有),但是resource\u controller支持某种多态资源(您可以使用url,比如:/entries、/category/3/entries、/whatever/12/entries等等)。然后,您可以使用以下内容生成指向条目的url:

<%= link_to 'Entries', collection_path %> 

响应“是”和“否”操作

如果条目是类别的子资源,那么模型之间可能存在父子关系,对吗?如果是,则可以使用:

redirect_to category_entries_path(@entry.category)

在您的
yes
no
方法中。

如果您的条目是类别的子资源,那么模型之间可能存在父子关系,对吗?如果是,则可以使用:

redirect_to category_entries_path(@entry.category)

在你的
yes
no
方法中,它工作得非常好。我仍然被rails为程序员所做的大量事情弄得不知所措。我不知道模型中属于的东西会创建@entry.category,非常感谢。它工作得很好。我仍然被rails为程序员所做的大量事情弄得不知所措。不知道在模型中属于的将创建@entry.category,非常感谢。