`
cvu
  • 浏览: 108365 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Nested Resources for multi-belongs_to

阅读更多
这样一个模型关系,暂把它定义成multi-belongs_to:
Project has_many :tasks
User has_many :tasks
Task belongs_to :project, :user


想用Rails1.2的Nested Resources实现效果
projects/1/tasks
users/1/tasks

但似乎Task资源只能嵌套在一个父资源里面,routes设置:
map.resources :projects do |project|
  project.resources :tasks 
end

这样的话,只能做到这样:
tasks_url(1)  # => /projects/1/tasks

tasks_url不能再解析成另一个url出来。


花了点儿时间,找出来这种做法:
map.resources :users do |user|
  user.resources :tasks, :name_prefix => "user_"
end

map.resources :projects do |project|
  project.resources :tasks, :name_prefix => "project_"
end

特别需要注意的是以上代码应该放在routes.rb设置的开头,否则会碰到"Unknown Action n"的Exception。因为routing设置是有优先级的。

就可以实现我要的东西了:
project_tasks_url(1)  # => /projects/1/tasks
user_tasks_url(1)  # => /users/1/tasks

分享到:
评论
1 楼 jimmy 2007-08-23  
由同一个TasksController处理吗?
请问你怎么分别取属主的Project或User?
通过判断params[:project_id]和params[:user_id]来分情况处理?
假如再有个/tasks的url呢?

相关推荐

    mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

    - 支持嵌套循环联接(Nested Loop Join)在存储过程中的使用,提高了复杂查询的效率。 - 触发器的优化使得在数据库操作中实现复杂的业务逻辑更为简便。 6. **监控和诊断**: - 提供了`Performance Schema`,一个...

    Nested array.rar_arrays DOA_nested-array_nested_array_嵌套_嵌套阵列doa

    嵌套阵列DOA估计matlab例程,基于Nested Arrays A Novel Approach to Array Processing With Enhanced Degrees of Freedom。

    PS-300B_PS-300B_PS300B_300B

    描述中的“11The programming software of chrysanthemum eyes for industrial nested car”提到了“菊花眼”的编程软件,这可能是一种比喻,意味着该软件具有复杂而全面的视觉系统,用于监控或导航在工业嵌套(可能...

    UART_RX-TX_28-12-15_uart_UARTSTM32_

    中断配置通常通过NVIC(Nested Vectored Interrupt Controller)设置。 5. **中断服务程序**:当接收到数据或需要发送数据时,中断服务程序会被调用。接收中断中,通常会读取接收缓冲区的数据并进行适当处理;发送...

    书架-Nested_拖拽_源码

    标题“书架-Nested_拖拽_源码”暗示了我们正在探讨一个关于书架样式的UI组件,它具有嵌套结构并且支持拖放(Drag and Drop)功能。这种功能通常用于实现用户交互,比如整理文件、组织项目或在应用内进行布局调整。在...

    Micrium_STM32F103ZE-SK_uCOS-II

    同时,要根据STM32的中断控制器NVIC(Nested Vector Interrupt Controller)进行中断优先级设置,确保关键任务的执行不会被低优先级任务打断。 此外,STM32F103ZE的内存管理也需要考虑。在移植过程中,可能需要...

    A Supervised Multi-Head Self-Attention Network for Nested NE.pdf

    本篇文章介绍了一种针对嵌套命名实体识别(Nested Named Entity Recognition, NER)的监督多头自注意力神经网络模型。命名实体识别是自然语言处理(Natural Language Processing, NLP)中的一个重要任务,旨在识别...

    alx-low_level_programming:基础-低级编程和算法―孵化

    循环0x02-functions_nested_loops 嵌套循环功能: declaration , definition 。 功能原型。 变量范围。0x03-调试Debugging 查找和解决错误。0x04-more_functions_nested_loops 嵌套循环功能和原型。0x05-pointers_...

    V5-419_RTX实验_SVC中断方式调用用户函数.7z

    这通常涉及到对处理器的中断控制器(如NVIC,Nested Vector Interrupt Controller)的配置,包括启用中断、设置优先级以及指定中断服务程序的地址。 接下来,实验可能会讲解如何在C语言中触发SVCall中断。在ARM ...

    holbertonschool-low_level_programming:霍尔伯顿学校低级编程项目

    0x02-functions_nested_loops:使用函数和嵌套循环。 0x03-调试:调试练习。 0x04-more_functions_nested_loops:使用更多函数和嵌套循环。 0x05-pointers_arrays_strings:使用指针,数组和字符串。 0x06-...

    holbertonschool-low_level_programming

    0x02-functions_nested_loops 嵌套循环怎么样 0x03-调试 如何调试代码 0x04-more_functions_nested_loops 越来越多的循环 0x05-pointers_arrays_strings 冷杉与骗子一起走 0x06-pointers_arrays_strings 带有...

    PyPI 官网下载 | drf_nested_resources-1.1.dev0-py3-none-any.whl

    **PyPI 官网下载 | drf_nested_resources-1.1.dev0-py3-none-any.whl** 在Python的世界里,PyPI(Python Package Index)是最重要的软件仓库,它为开发者提供了一个平台来发布和分享他们的开源Python项目。`drf_...

    JSTL的各种标签文件和struts的标签文件,带strtus.jar包

    JSTL的各种标签文件和struts的标签文件,带strtus.jar包c-1_0.tld,c-1_0-rt.tld,c.tld,fmt-1_0.tld,fmt-1_0-rt.tld,fmt.tld,fn.tld,permittedTaglibs....struts-bean.tld,struts-nested.tld,struts.jar

    G_ROMP_ompGomp_S-omp_gomp_广义s_源码.rar

    标题中的"G_ROMP_ompGomp_S-omp_gomp_广义s"是一个可能的项目或库的标识,暗示这是一组与并行计算、OpenMP(Open Multi-Processing)相关的源代码。OpenMP是一种应用编程接口(API),用于在共享内存多处理器系统上...

    javax.activation.UnsupportedDataTypeException: no object DCH for MIME type

    javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/mixed; boundary="----=_Part_0_1760344884.1407394057461" 第一步:需要先grantq权限: EXEC dbms_java.grant_...

    Improving Nested Loop Pipelining on Coarse-Grained Reconfigurable Architectures

    CGRAs for acceleration, and the mapping of loops onto CGRA is quite a challenging work due to the parallel execution paradigm and constrained hardware resource. To map loops onto CGRAs efficiently, it...

    Python库 | drf_nested_resources-1.0b3-py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:drf_nested_resources-1.0b3-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    sd.zip_NIOS SD_NIOS SD-CARD_nios_sd nios

    NIOS(Nested Input/Output System)是 Altera 公司开发的一种软核处理器,常用于 FPGA(Field-Programmable Gate Array)设计中。在这个项目中,NIOS系统被用来读取存储在SD卡上的图像文件,然后将这些图像数据解析...

    matlab导入excel代码-utl_nested_xml_file_to_sas_dataset:将XML文件嵌套到SAS数据集。关键字:

    matlab导入excel代码utl_nested_xml_file_to_sas_dataset 将XML文件嵌套到SAS数据集。 关键字:sas sql join合并大数据分析宏oracle teradata mysql sas社区stackoverflow statistics人工智慧AI Python R Java ...

Global site tag (gtag.js) - Google Analytics