Ruby on rails 创建操作始终重定向到默认根目录,而不是成功登录
我正在将我的rails 2.3.10应用程序升级到rails 3。我注意到我所有的创建/更新操作路径都不工作,相反,我得到的是重定向到默认根url消息,而不是更新数据。顺便说一句,我的模型中没有数据库字段的attr_可访问性。不确定这对rails3是否有任何影响 下面是我尝试登录时的一个实例Ruby on rails 创建操作始终重定向到默认根目录,而不是成功登录,ruby-on-rails,ruby-on-rails-3,rails-routing,Ruby On Rails,Ruby On Rails 3,Rails Routing,我正在将我的rails 2.3.10应用程序升级到rails 3。我注意到我所有的创建/更新操作路径都不工作,相反,我得到的是重定向到默认根url消息,而不是更新数据。顺便说一句,我的模型中没有数据库字段的attr_可访问性。不确定这对rails3是否有任何影响 下面是我尝试登录时的一个实例 routes.rb resources :user_sessions user_sessions controller(authlogic style) before_filter :require_
routes.rb
resources :user_sessions
user_sessions controller(authlogic style)
before_filter :require_no_user
def new
@user_session = UserSession.new
end
def create
@user_session = UserSession.new(params[:user_session])
if @user_session.save
redirect_back_or_default root_url
else
render :action => 'new'
end
end
My login view form
<%= form_for @user_session do |f| %>
<%= f.label :Username, 'Username/Email' %>
<%= f.text_field :username, :class => 'text' %>
<%= f.label :password %>
<%= f.password_field :password, :class => 'text' %>
<%= f.submit "Sign In" %>
<% end %>
routes.rb
资源:用户会话
用户会话控制器(authlogic样式)
筛选前:要求\u无\u用户
def新
@user\u session=UserSession.new
结束
def创建
@user\u session=UserSession.new(参数[:user\u session])
if@user\u session.save
重定向\u返回\u或\u默认根\u url
其他的
呈现:操作=>“新建”
结束
结束
我的登录视图表单
'文本''>
'文本''>
大多数表单提交都会发生这种情况。到目前为止我还不走运:(为什么实例变量
@user\u session
应该有效或已填充?我错过了通常的@user\u session=UserSession.new(params[:user\u session]
。是的,有常见的控制器对象代码。在我的帖子中更新了,请参见上文。好的,我找到了这种奇怪行为的原因。原来我在我的资源路径上方移动了一个路径捕捉器。感谢您关注此问题。