Twitter bootstrap 巫术和简单表单实现
长时间阅读第一次用户。 我正在组装我的第一个RoR应用程序,我已经隔离了我的应用程序应该使用的所有内容,包括:-Twitter bootstrap 巫术和简单表单实现,twitter-bootstrap,omniauth,cancan,simple-form,sorcery,Twitter Bootstrap,Omniauth,Cancan,Simple Form,Sorcery,长时间阅读第一次用户。 我正在组装我的第一个RoR应用程序,我已经隔离了我的应用程序应该使用的所有内容,包括:- 巫术 Omniauth 坎坎 twitter引导(转换为sass) 和简单的形式 干净、清晰、简单……不是 在我的一生中,无法将简单表单与魔法“登录”集成(这似乎是最简单的任务),而不会在“记住我”字段中出错 Simple forms没有Simple_form_标记(仅Simple_form_for)选项,该选项在sessions controller新方法的登录表单上最有效。相
- 巫术
- Omniauth
- 坎坎
- twitter引导(转换为sass)
sessions/new.html.erb
登录
{:class=>form horizontal}do | f |%>
登录
100 } %>
20 } %>
“btn btn主节点”%>
'btn'>
类sessioncontroller
上面写着:
这表示form_tag
旨在将数据直接发送到另一个URL,由控制器操作处理。事实上,在RailsTutorial中,Michael Hartl使用form_作为
函数,而不是form_标签
form_for(:session, url: sessions_path)
基本上,这个想法是您发送数据以某种方式由控制器处理,而不是写入数据库。由于我们没有用户会话的模型,我们必须使用:session
符号而不是@session
,并告诉表单数据应该发布到哪里(哪个URL)
我怀疑,尽管我不确定,这应该也适用于的简单表单。比如:
<%= simple_form_for(:session, url: sessions_path) do |f| %>
更新:我成功地将示例应用程序的更改为使用simple\u form\u for
创建新用户会话
当然,也就是说,假设会话控制器正在处理您的登录,并且它有一个响应POST的方法(可能是create
)。控制器操作是您应该处理巫术登录的地方
如果您感到好奇,以下是Rails文档。上面说:
这表示form_tag
旨在将数据直接发送到另一个URL,由控制器操作处理。事实上,在RailsTutorial中,Michael Hartl使用form_作为
函数,而不是form_标签
form_for(:session, url: sessions_path)
基本上,这个想法是您发送数据以某种方式由控制器处理,而不是写入数据库。由于我们没有用户会话的模型,我们必须使用:session
符号而不是@session
,并告诉表单数据应该发布到哪里(哪个URL)
我怀疑,尽管我不确定,这应该也适用于的简单表单。比如:
<%= simple_form_for(:session, url: sessions_path) do |f| %>
更新:我成功地将示例应用程序的更改为使用simple\u form\u for
创建新用户会话
当然,也就是说,假设会话控制器正在处理您的登录,并且它有一个响应POST的方法(可能是create
)。控制器操作是您应该处理巫术登录的地方
如果您好奇的话,这里是Rails的文档。我也在尝试这样做,但还是被卡住了。这似乎应该是可行的,但当我提交登录表单时,它导致了一个错误。以下是我的表单的外观:
<h1>Log in</h1>
<%= simple_form_for(:session, url: sessions_path) do |f| %>
<%= f.error_notification %>
<%= f.input :email %>
<%= f.input :password %>
<%= f.input :remember_me, :as => :boolean %>
<div class="form-actions">
<%= f.submit "Login", :class => 'btn btn-primary' %>
</div>
<% end %>
<%= link_to 'Forgot Password?', new_password_reset_path %>
此外,我在控制台中遇到以下错误:
gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (0.8ms)
但是我的routes.rb文件中有resources:sessions
。我也在尝试这样做,但遇到了问题。这似乎应该可以工作,但在提交登录表单时会导致错误。我的表单如下所示:
<h1>Log in</h1>
<%= simple_form_for(:session, url: sessions_path) do |f| %>
<%= f.error_notification %>
<%= f.input :email %>
<%= f.input :password %>
<%= f.input :remember_me, :as => :boolean %>
<div class="form-actions">
<%= f.submit "Login", :class => 'btn btn-primary' %>
</div>
<% end %>
<%= link_to 'Forgot Password?', new_password_reset_path %>
此外,我在控制台中遇到以下错误:
gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (0.8ms)
但是我在我的routes.rb
文件中有资源:sessions
。关于如何将其与omniauth身份一起使用有什么想法吗?我已经尝试了(:user,url:“/auth/identity/register”)/code
简单的表单(/code>关于如何使用omniauth标识的任何想法?我尝试了(:user,url:/auth/identity/register)的简单表单。user|u controllerdef new@user=env['omniauth.identity']| | user.new end
。model/user.rb类用户
。这“似乎”在本地起作用,但在heroku上不起作用,heroku错误与ActionController::RoutingError(没有与[POST]“/auth/identity/register]匹配的路由”):
如果可以,请尝试删除您的第一条评论,因为它没有像您预期的那样通过。我不知道为什么会正常工作,给你一个Heroku上的路由错误。作为调试步骤,您应该在本地和Heroku上运行rake routes
。我真的建议你把这个问题作为一个新问题来发布,如果有人帮助你,你就有机会赢得充分的声誉。如果你选择的答案对你有帮助的话,也很高兴投票支持。谢谢,我在这里提出了一个问题。仅供参考,两条路线完全相同。最后…呵呵,我不知道如何删除我的第一次评论。我说我最多有5分钟(或者是因为我按了回车键试图返回)他记不得了。再次干杯JR@gittinOld没问题。祝你好运有没有关于如何使用omniauth标识的想法?我已经尝试了(:user,url:“/auth/identity/register”)/code
简单的表单(/code>关于如何使用omniauth标识的任何想法?我尝试了(:user,url:/auth/identity/register)的简单表单。user|u controllerdef new@user=env['omniauth.identity']| | user.new end
。model/user.rb<