小编spe*_*tro的帖子

只要单击模型销毁链接,Rails会话就会被破坏

如果我在我的3个模型模型的任何记录上单击destroy,则用户将被注销.我正在使用Devise和Ominauth.

#This logs out a user 
def destroy
    @rating = Rating.find(params[:id])
    @rating.destroy
  end


Started POST "/ratings/29" for 192.168.1.103 at 2011-02-26 20:11:45 +0000
  Processing by RatingsController#destroy as HTML
  Parameters: {"id"=>"29"}
  User Load (0.5ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 2 LIMIT 1
  Rating Load (0.3ms)  SELECT `ratings`.* FROM `ratings` WHERE `ratings`.`id` = 29 LIMIT 1
  SQL (0.0ms)  BEGIN
  AREL (0.5ms)  DELETE FROM `ratings` WHERE `ratings`.`id` = 29
  SQL (2.7ms)  COMMIT



Request

Parameters:

None
Show session dump

session_id: "16a92c418fdfa8966b60b09e76346443"
Show env …
Run Code Online (Sandbox Code Playgroud)

session devise destroy omniauth ruby-on-rails-3

6
推荐指数
1
解决办法
2151
查看次数

find_or_create在Rails中不起作用

我有一个非常简单的应用程序.所有这个应用程序需要做的是检查用户名是否存在.如果是,则重定向到用户.如果它不存在,请根据输入的用户名创建新用户并重定向到新用户.新用户永远不会出于某种原因创建,但find_or_create行在rails控制台中工作.这是代码:

user_controller.rb

  def new

    @user = User.new

  end


  def create

    @u = User.find_or_create_by_name(params[:name])
    redirect_to @u

  end
Run Code Online (Sandbox Code Playgroud)

new.html.erb

<% form_for(@user) do |f| %>
  <%= f.error_messages %>

  <p>
    <%= f.label :Username %><br />
    <%= f.text_field :name %>
  </p>
  <p>
    <%= f.submit 'Submit' %>
  </p>
<% end %>
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

ruby ruby-on-rails

2
推荐指数
1
解决办法
509
查看次数