当前位置: 首页 > 知识库问答 >
问题:

redirect_to不重定向到指定路径(jQueryMobile/Rails 3)

燕烨
2023-03-14

我在这个def create中调用redirect_to:

class M::TodosController < ApplicationController
  layout 'm/application'

  def create
    @todo = @goal.todos.build(params[:todo])
     ...
    puts "XXXXX => " +  m_goal_todo_path(@goal, @todo)
    redirect_to m_goal_todo_path(@goal, @todo)
  end
...

我检查路线=

m_goal_todo GET    /m/goals/:goal_id/todos/:id(.:format)                          m/todos#show

在我的日志中:

XXXXX => /m/goals/46/todos/358


Started POST "/m/goals/46/todos" for 127.0.0.1 at 2014-03-13 13:47:14 +0900
Processing by M::TodosController#create as */*
  Parameters: {"todo"=>{"content"=>"23"}, "goal_id"=>"46"}
  SQL (0.4ms)  DELETE FROM "authentication_tokens" WHERE (logged_in_until < '2014-03-13 13:47:14.014105')
  AuthenticationToken Load (0.5ms)  SELECT "authentication_tokens".* FROM "authentication_tokens" WHERE "authentication_tokens"."token" = '5aTg7cWiDXAJj8IHd2NePqat1fNaXc0Nu9kAtS2PF6N8TDR8T5IeZYUZsT4Iy7dkuyy5FkmO_qyDuXX8' LIMIT 1
...

我正在使用Rails 3.2.13

更新

尝试

def create
  @todo = @goal.todos.build(params[:todo])
   ...
   puts "XXXXX => " +  m_goal_todo_path(@goal, @todo)
   respond_to do |format|
     format.html { redirect_to m_goal_todo_path(@goal, @todo)}
   end
end

得到同样的行为。

另外,我尝试通过添加rel=“external”来禁用Ajax,没有任何变化

<a href="#" class="add center" data-role="button" data-rel="back" data-mini="true" data-inline="true" rel="external">やるべきことを追加</a>

更新2

new.html.erb

<div class="center">
  <a href="#" class="add center" data-role="button" data-rel="back" data-mini="    true" data-inline="true" data-ajax="false">やるべきことを追加</a>
</div>

和javascript

  $(document).on('click', '.todos_new_page .add', function() {
    var $this = $(this);
    var goalId = $this.closest('.todos_new_page').data('goal-id');
    var $content = $this.closest('[data-role=content]').find('#content');
    if ( $content.val() == "") {
      alert("記入して下さい");
      return false;
    }
    var content = $content.val();
    $.ajax({
      url: '/m/goals/' + goalId + '/todos',
      type: 'POST',
      data: {todo: {content: content}},
      error: defaultAjaxError
    });
  });

共有2个答案

双志强
2023-03-14

cuz 我有这个和平的代码 -

所以,我删除了它:)

success: function(link) {
    $.mobile.changePage('/m/'+link.go);
  }

链接在哪里。去-

工作正常:)

巴巴谢布·戈萨维谢谢你的帮助。

陶泳
2023-03-14

在Jquery中,移动视图没有变化,因为它完全基于Ajax。您需要指定类似如下的内容

def create
  @todo = @goal.todos.build(params[:todo])
   ...
   puts "XXXXX => " +  m_goal_todo_path(@goal, @todo)
   respond_to do |format|
     format.html { redirect_to m_goal_todo_path(@goal, @todo)}
   end
end

或者,您需要使用数据Ajax=“false”对调用创建操作的表单禁用Ajax

 类似资料:
  • 问题内容: 我正在尝试重定向我的响应,但是我被困在链接路径上。 以下命令将我带到tomcat的localhost并在此处搜索页面,但是按预期找不到任何内容。 为了解决此问题,我必须将我的根文件夹名称(来自webaps的名称)放在链接路径中,但是我认为这不是一个好主意。 为什么会这样呢?除了getRequestURL()或类似的方法,还有其他解决方法吗? 问题答案: 相对重定向URL相对于当前请求U

  • 我正在使用application.properties文件中指定的Spring Boot上下文路径,它工作得很好 Spring Boot 2.0及以上版本

  • 我得到以下Tomcat错误: 发布到Tomcat v8.5 Server atlocalhost...遇到问题。发布失败并出现多个错误。 细节: 发布失败,出现多个错误 找不到文件:C:\Users…\HerramentationLogica\target\m2e wtp\web资源\META-INF\MANIFEST.MF。 未找到文件:C:\Users…\HerramentationLogic

  • 我已经编写了一个基本的jsp代码,用于存储和检索数据库中的数据。在此之前,我正在检查用户验证。 当我点击提交按钮时,它将重定向到我的jsp页面。 我已经写了一个数据库。属性文件分开。 当我给出了读取属性文件的完整路径时。,程序执行正常。(这不是像下面这样硬代码的最佳方式)。 FileInputStream in=new FileInputStream("C:\Program Files\Apach

  • 我只想共享包含查询字符串的页面,但是og:image没有显示,尽管image:url绝对正确。facebook debugger将错误显示为我所写的标题。我不明白哪里出了问题以及如何解决。我可以共享链接,但没有图像,尽管og:image meta标记绝对链接到正确的图像。 这是网页:http://www.mysite.com/Pages/EtkinlikDetay.aspx?ID=In6EP/AK

  • 我在react-redux项目中使用react-router-dom 5.1.2。对于我的路由,我有两个文件。第一个是App.js,其中包含redux存储和BrowserRout的提供程序: 在下一层,我有Main.js,它有到所有组件的路径 我遇到的问题是,当我使用path=“/games/:game_id/fighters/new”进入路线时,而不是显示FighterForm。js,它会重定向