我目前正在使用 Laravel 开发一个网络应用程序,直到最近该应用程序都运行良好。我不知道是什么触发了它,但这里是我遇到的问题的摘要:
登录曾经工作,因为我有一个执行此操作的 AccountController:
$auth = Auth::attempt(array(
'username' => Input::get('username'),
'password' => Input::get('password'),
'active'=>1);
if ($auth) {
return Redirect::route('home');
}
return Redirect::route('account-sign-in');
回家的路线是这样的:
Route::get('/', array('as'=>'home', 'use'=>'HomeController@show'));
应用程序通常会在成功登录后立即返回首页。在我的 home.blade.php 中,我会有一个 @if(Auth::check()) 以确保一旦用户登录,主页将提供不同的服务一组文本。
然而最近,我注意到在提交登录请求后,有一个中间页面显示消息“重定向到 http://localhost.com/”。在此之前该消息不存在,并且错误开始与该消息一起出现。
我在网上查了所有能找到的资料,有人说源代码有换行/空格问题。我查看了我拥有的所有源代码,没有任何迹象表明有什么问题。
当时很绝望,我删除了 Redirect::route('home') 并将其替换为 View::make('home') 。这阻止了消息的显示,我又能像往常一样登录了。
所以我有两个问题: 1)是什么导致了这个奇怪的问题? 2) 在这种情况下使用 View::make() 与 Redirect::route() 有什么不对吗?
谢谢!
最佳答案
我遇到了同样的问题,我花了整个周末寻找真正的原因并解决了这个问题。我遇到了这个 stackoverflow 问题,感觉它和我的问题一样。
我使用以下核心 php 函数进行重定向,而不是从 Controller 返回 View 文件。
header('Location: /');
它打印了有空行的实际文件。删除此行解决了我的问题。
我的代码库中有数千个文件。我的假设是我已经尝试了不同的脚本来在任何文件的开头找到这样的空白行,并且根据这些脚本的结果没有这样的文件。我假设我的任何文件中都没有空行。但是 header('Location:/') 证明我的假设不正确,我在错误的行上工作。
关于php - Laravel redirect::route 在页面加载之间显示一条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24136778/
我得到了一个包含嵌套链接的表单。编辑时链接字段为空的问题。这是我的表格:Editingkategori{:action=>'update',:id=>@konkurrancer.id})do|f|%>'Trackingurl',:style=>'width:500;'%>'Editkonkurrence'%>|我的konkurrencer模型:has_one:link我的链接模型:classLink我的konkurrancer编辑操作:defedit@konkurrancer=Konkurrancer.find(params[:id])@konkurrancer.link_attrib
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende
所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择
我试图在索引页中创建一个超链接,但它没有显示,也没有给出任何错误。这是我的index.html.erb代码。ListingarticlesTitleTextssss我检查了我的路线,我认为它们也没有问题。PrefixVerbURIPatternController#Actionwelcome_indexGET/welcome/index(.:format)welcome#indexarticlesGET/articles(.:format)articles#indexPOST/articles(.:format)articles#createnew_articleGET/article
我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("
我是rails的新手,想在form字段上应用验证。myviewsnew.html.erb.....模拟.rbclassSimulation{:in=>1..25,:message=>'Therowmustbebetween1and25'}end模拟Controller.rbclassSimulationsController我想检查模型类中row字段的整数范围,如果不在范围内则返回错误信息。我可以检查上面代码的范围,但无法返回错误消息提前致谢 最佳答案 关键是您使用的是模型表单,一种显示ActiveRecord模型实例属性的表单。c
在Cooper的书BeginningRuby中,第166页有一个我无法重现的示例。classSongincludeComparableattr_accessor:lengthdef(other)@lengthother.lengthenddefinitialize(song_name,length)@song_name=song_name@length=lengthendenda=Song.new('Rockaroundtheclock',143)b=Song.new('BohemianRhapsody',544)c=Song.new('MinuteWaltz',60)a.betwee
我正在检查一个Rails项目。在ERubyHTML模板页面上,我看到了这样几行:我不明白为什么不这样写:在这种情况下,||=和ifnil?有什么区别? 最佳答案 在这种特殊情况下没有区别,但可能是出于习惯。每当我看到nil?被使用时,它几乎总是使用不当。在Ruby中,很少有东西在逻辑上是假的,只有文字false和nil是。这意味着像if(!x.nil?)这样的代码几乎总是更好地表示为if(x)除非期望x可能是文字false。我会将其切换为||=false,因为它具有相同的结果,但这在很大程度上取决于偏好。唯一的缺点是赋值会在每次运行