首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么重定向是错误的?

为什么重定向是错误的?
EN

Stack Overflow用户
提问于 2017-12-26 10:00:14
回答 2查看 48关注 0票数 1

用他们完成的任务和完成的任务建立模型。在视图中有链接,当单击该链接时,它必须将任务从todo更改为to。这是我的路线

代码语言:javascript
代码运行次数:0
运行
复制
get 'tasks/:id', to: 'tasks#change_to_done', as: 'change_to_done'

我的观点

代码语言:javascript
代码运行次数:0
运行
复制
<% unless task.done %>
        <td><%= check_box_tag "cb_tasks[]", task.id %></td>
        <td><%= link_to task.title, task %></td>
        <td><%= link_to 'Edit', edit_task_path(task.id) %></td>
        <td><%= link_to 'Done', change_to_done_path(task.id) %></td>
        <td><%= link_to 'Destroy', task, method: :delete, data: {confirm: 'Are you sure?'} %></td>
      <% end %>

和我的控制器

代码语言:javascript
代码运行次数:0
运行
复制
  def change_to_done
    @task = Task.find(params[:id])
    @task.done = true
    @task.save
  end

单击链接重定向到显示路径时

代码语言:javascript
代码运行次数:0
运行
复制
Started GET "/tasks/32" for 127.0.0.1 at 2017-12-26 11:59:06 +0200
Processing by TasksController#show as HTML
  Parameters: {"id"=>"32"}
  Task Load (0.1ms)  SELECT  "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ?  [["id", 32], ["LIMIT", 1]]
  Rendering tasks/show.html.erb within layouts/application
  Rendered tasks/show.html.erb within layouts/application (0.7ms)
Completed 200 OK in 57ms (Views: 55.0ms | ActiveRecord: 0.1ms)

怎么了?我只需要将字段状态从false更改为true。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-26 10:05:05

Rails路由按照指定的顺序进行匹配,因此,如果在get resources :tasks上方有一个'task/:id',那么资源行的show路由将在get行之前匹配。

尝试更改端点,例如:

代码语言:javascript
代码运行次数:0
运行
复制
get 'change_to_done/:id', to: 'tasks#change_to_done', as: 'change_to_done'
票数 2
EN

Stack Overflow用户

发布于 2017-12-26 10:08:56

您的路由文件中可能有resources :tasks。Rails解决了这个问题,而忽略了这个路由的get 'tasks/:id', to: 'tasks#change_to_done', as: 'change_to_done'。您应该指定确切的操作get 'tasks/:id/change_to_done', to: 'tasks#change_to_done', as: 'change_to_done'

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47976816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档