Rails日志显示重定向但视图保持不变

时间:2015-03-03 08:57:17

标签: ruby-on-rails redirect ruby-on-rails-3.2

我正在使用rails 3.2.21。我想在特定条件下创建新元素后重定向请求。 我的控制器创建了动作代码:

def create
@community_group = Community::Group.new(params[:community_group])
@community_group.member_ids = []
@community_group.member_ids = params[:member_ids].present? ?  [@current_user.id] + params[:member_ids] :  [@current_user.id]

respond_to do |format|
  if @community_group.save
    format.html{ redirect_to community_group_path(@community_group) }
  else
    flash.now[:error] = 'Group Saving Failed'
    format.html{}
  end

end

N.B:我没用过      remote:true 表格提交。

我在日志中看到它将请求重定向到正确的路径并呈现右页。我检查使用Rails.logger.info在哪里是我的预期页面呈现与否,在我看来似乎没问题。 我创建操作的日志信息:

Started POST "/community/groups" for 127.0.0.1 at 2015-03-03 14:18:47 +0600
Processing by Community::GroupsController#create as HTML 

然后成功重定向到显示操作(我的日志信息)

Redirected to http://localhost:3001/community/groups/53
Completed 302 Found in 1008.4ms (ActiveRecord: 208.7ms)

现在新请求开始:(我的日志信息)

Started GET "/community/groups/53" for 127.0.0.1 at 2015-03-03 17:08:52 +0600
Processing by Community::GroupsController#show as HTML
Parameters: {"id"=>"53"}

但我的观点仍然在同一页面上,并且网址相同。我不明白这个问题。如果任何人遇到同样类型的问题,请提供帮助。

我的节目动作代码:

def show
@community_group = Community::Group.find(params[:id])
@community_group_post = @community_group.community_group_posts.order("id DESC").page(params[:page]).per_page(10)
respond_to do |format|
format.html 
end

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。它不是控制器级别问题或请求重定向相关问题(根据代码请求重定向)。我的问题是,我使用iframe作为我的表单目标。因此,请求重定向到目标iframe并刷新它,但我期待整页刷新。我使用JavaScript强制刷新整页来解决我的问题。

window.location.reload();

534 other ways to reload the page with JavaScript

对于像我这样的新手网络开发者,我想添加有关html表单目标属性的额外信息。

目标用于指定您在提交表单时在哪个窗口中显示服务器的响应。

可能的值是:

  • _blank - 新页
  • frame - 在iframe中显示给定名称
  • _self - 显示在表单所在的同一iframe中
  • _parent - 在表单的父页面/ iframe中显示' s iframe
  • _top - 最顶层的窗口

我认为上述信息可能对某人有价值。