我正在建立一个琐事应用程序,每个用户可以完全回答一次每日琐事问题。我可以看到使用:new
操作来回答问题,{{1}}操作可以显示用户的回答,但我希望网址相同。
因此,如果用户刚刚第一次到达,我希望相同的网址(http://example.com/daily_question)呈现:show
,或者如果用户已经回答了每日问题,则需要:new
。最简单的方法是什么?
答案 0 :(得分:0)
您可以使用HTTP动词和操作来执行此操作 您的节目动作节目已找到或构建问题,即
def show
@question = current_user.daily_question || current_user.build_daily_question
end
而不仅仅是在编辑操作中使用更新attirbutes 所以你有
GET /show
PUT /edit
答案 1 :(得分:0)
默认情况下,show和new操作不能提供相同的url,因为show期望“id”位于url中,而new action需要在url末尾添加“new”一词。 如果您需要相同的网址,请不要在展示或新操作上强制它。只需在控制器中创建自己的自定义方法,然后在路径中匹配它。