ruby-on-rails – 基于现有资源的表单挑战Rails问题
您有一组通过支架创建的相关模型,例如一所房子,有许多房间,每个房间都有许多窗户,每个窗户都有各种锁.
这些资源已经充满了数据,即有人输入了所有信息,例如:一个叫做“厨房”的房间有各种与之相关的窗户,这些窗户每个都有五个与它们相关的不同锁. 有人出现并说:
这听起来像一个嵌套的形式,但我浪费了很多时间试图解决这个问题 – 有许多级别的嵌套,这使得这很棘手.有什么建议? 解决方法
会话解决方案
有了这样深度嵌套的模型,前端的选择框就不够了…… 通过导航到项目列表视图并单击add_to链接,让current_house添加不同的项目: # house_controller.rb def add_to current_house.polymorphic_items << Kitchen.find(params[:id]) redirect_to :back end 但是这种基于会话的解决方案有很多种方法可以实现购物车/订单系统.您可能需要添加一个current_item来添加树的每个叶子中的内容,即您房屋的房间. E.G点击您刚添加的厨房后: before_filter :set_current_item def add_to current_item.windows << Window.find(id) end current_item beeing polymorphic:起居室,浴室等. 作为关于嵌套表单的经验法则,我会遵循路线的轨道指导:不要超过一个级别,否则你最终会陷入混乱. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |