我目前正在努力建立一个多步骤的形式,其中每一步创建一个模型示例。
在本例中,我有3个模型:
1.用户计划
1.连接方式
1.游戏控制面板
自联想是这样的:
一个user
有一个user_plan
一个connection
属于一个user_plan
一个game_dashboard
属于一个connection
我想创建一个向导,允许current_user创建一个game_dashboard,并通过一个多步骤表单创建连接和user_plan示例。
为此,我看了Wicked gem,并从game_dashboard开始创建逻辑(这是最后一个)。当我不得不面对表单生成时,我觉得也许从底部开始并不是更好的解决方案。
这就是我来这里寻求帮助的原因:
执行此精灵的最佳方式是什么?从底部开始(game_dashboard)还是从顶部开始(use_plan)?
由于我没有要求代码的帮助,目前我没有写任何控制器或模型的逻辑,如果它会对别人有帮助,我会把它!
多谢了
1条答案
按热度按时间vmjh9lq91#
最简单的方法是依赖Rails的标准MVC模式。
只需使用
create
和update
控制器方法链接到下一个模型的表单(而不是show
或index
视图)例如:
对于布线,您有两个选项:
您可以嵌套所有内容:
专业:
这将使您更容易在控制器中设置关联,因为您的所有路线都有您需要的内容。例如:
/users/:user_id/user_plans/:user_plan_id/connections/:connection_id/game_dashboards/:game_dashboard_id
条件:
你的路线和链接助手将是非常长和激烈的“底部”。
game_dashboard_connection_user_plan_user_path(:user_id, :user_plan_id, :connection_id, :game_dashboard)
您可以手动将向导“步骤”链接在一起
专业:
URL和助手并没有那么疯狂。
new_connection_path(user_plan_id: @user_plan.id)
使用一个有意义的URL变量:
user_plan_id=1
,则可以查找上游的所有内容。例如:条件:
(not很大程度上是一个“骗局”,因为无论如何你可能最终都会这样做)
如果需要显示有关“父”记录的信息,则必须首先在控制器中执行模型查找: