小编Kir*_*rat的帖子

如何通过 gem OmniAuth Facebook/Twitter 注销社交网站

我正在使用omniauth-facebookgemsomniauth-twitter来启用通过 Facebook、Twitter 登录。

一切正常,我可以使用OAuth. 这里的大问题是,当用户从我的应用程序注销时,它不会从他们进行身份验证的社交网站注销,这是危险的。

我想添加一个功能,该功能将破坏两个地方的会话,即我的应用程序和相应的社交网站。我怎么做?可以使用omniauth gems我目前正在使用的吗?或者是否有替代 gem/API 可以实现此目的?

twitter facebook ruby-on-rails omniauth ruby-on-rails-4

5
推荐指数
1
解决办法
2260
查看次数

CarrierWave文件上传无法在rails中运行

我需要将图像上传到我的电影收藏应用程序我使用carrierwave来执行此操作(按照railscasts步骤)

步骤1我将gem'carrierwave','〜> 0.9'添加到我的Gemfile然后运行bundle步骤2 rails g uploader image然后rails g scaffold filmes name moviestype rake db step 3 rails g migration add_image_to_filmes image:string然后rake db

其他步骤与railscast相同

在我的电影模型中

attr_accessible :name, :moviestype, :image
  mount_uploader :image, ImageUploader
Run Code Online (Sandbox Code Playgroud)

在我的_form.html.erb中

<%= form_for @filme, :html => {:multipart => true} do |f| %>
  <% if @filme.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@filme.errors.count, "error") %> prohibited this filme from being saved:</h2>

      <ul>
      <% @filme.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field"> …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails carrierwave ruby-on-rails-4

5
推荐指数
1
解决办法
3773
查看次数

Ruby on Rails窗口开发现在被认为是安全的吗?

几年前我在窗户上尝试过RoR,这很痛苦.尽管RailsInstaller存在,但是在Windows上无法正常运行的软件包,模块和内容存在很多问题.

我正在考虑再次使用RoR,我可以将它用于启动Web项目.

我应该在我的Windows 7 PC中安全地开发,还是最好为此设置Linux VM?

ruby windows environment development-environment ruby-on-rails

4
推荐指数
1
解决办法
799
查看次数

用户未定义的方法attr_accessible错误

我正在尝试创建各种登录.我创建了一个用户脚手架,并在我的user.rb中包含此代码

class User < ActiveRecord::Base
attr_accessible :name,  :password_digest, :password, :password_confirmation

has_secure_password
end
Run Code Online (Sandbox Code Playgroud)

我一直收到这个错误

undefined method `attr_accessible' for #<Class:0x396bc28>

Extracted source (around line #2):
1
2
3
4
5

class User < ActiveRecord::Base
  attr_accessible :name,  :password_digest, :password, :password_confirmation

  has_secure_password
end

Rails.root: C:/Sites/web
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-4 ruby-on-rails-4.1

4
推荐指数
1
解决办法
1万
查看次数

will_paginate gem:限制页数

在此输入图像描述

这是我的分页,我想将页数限制为10例如没有像图片中那样的问题我怎么能这样做,我使用的是will_paginate宝石

pagination ruby-on-rails will-paginate ruby-on-rails-4

3
推荐指数
1
解决办法
3798
查看次数

奇怪的红宝石行为.有人可以解释一下吗?

我正在玩ruby翻译,然后就发生了.怎么样?

class Expe
  attr_reader :i

  def yo
    @i = 3 
  end
end

a = Expe.new
puts a.yo.i #=> 0+3i
Run Code Online (Sandbox Code Playgroud)

ruby

3
推荐指数
1
解决办法
107
查看次数

Paperclip + RSpec:content_type验证

我正在使用Paperclip我的Rails应用程序进行附加images.我content_type在我的模型中声明了验证

 validates_attachment :image,
  :content_type => { :content_type => ["image/jpg", "image/gif", "image/png"] }
Run Code Online (Sandbox Code Playgroud)

我有两个例子,一个带有效图像,另一个带有无效图像.
对于无效图像,我只是将.txt文件重命名为a.png

 it "Image is valid" do
    image = File.new("#{Rails.root}/spec/support/right.png")
    expect(FactoryGirl.build(:pin, image: image)).to be_valid
 end
 it "Image is invalid" do
   image = File.new("#{Rails.root}/spec/support/wrong.png")
   expect(FactoryGirl.build(:pin, image: image)).to have(1).errors_on(:image_content_type)
 end
Run Code Online (Sandbox Code Playgroud)

我希望我的两个例子都能成功运行.但是,我的第二个例子失败了.我没有得到content_type的任何错误wrong.png.

我认为Paperclip的content_type验证实际上会检查上传文件的文件格式(二进制数据编码).但似乎在这里,它只是检查文件扩展名.此验证仅检查上传文件的扩展名吗?

我可能在这里遗漏了一些东西(配置?).Paperclip中是否还有其他验证可用于实现此目的?或者在这种情况下我应该选择自定义验证器吗?

rspec ruby-on-rails paperclip ruby-on-rails-4

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

发布时显示Ruby on Rails错误

我是RoR的初学者(8个小时),面临着一个我无法解决的问题.在其网站上的入门指南中提供的教程将通过设置帖子条目示例来完成.我收到以下错误:

NoMethodError in Posts#show
Showing /Users/khalidalghamdi/blog/app/views/posts/show.html.erb where line #3 raised:

undefined method `title' for nil:NilClass
Extracted source (around line #3):
1
2
3
4
5
6

  <p>
    <strong>Title:</strong>
    <%= @post.title %>
  </p>

  <p>

Rails.root: /Users/khalidalghamdi/blog

Application Trace | Framework Trace | Full Trace
app/views/posts/show.html.erb:3:in `_app_views_posts_show_html_erb__4427112910992919114_2164032300'
Request

Parameters:

{"id"=>"4"}
Run Code Online (Sandbox Code Playgroud)

这是教程链接http://guides.rubyonrails.org/getting_started.html,我遵循5.6节.它没有在show.html.erb页面中显示已发布的详细信息.我究竟做错了什么?

更新:控制器代码:

class PostsController < ApplicationController
    def new

    end

    def create
        @post = Post.new(post_params)

        @post.save
        redirect_to @post
    end

    private
        def post_params
            params.require(:post).permit(:title, :text)
        end


    def show
        @post = Post.find(params[:id])
    end …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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

线路"得到'/病人/:id'到:'病人#show',as:'病人'"怎么办?

我正在铁轨上学习红宝石,我无法理解这条线:

摘自http://guides.rubyonrails.org/routing.html:

get '/patients/:id', to: 'patients#show', as: 'patient'
Run Code Online (Sandbox Code Playgroud)

字符串文字上下文中的单个冒号是什么意思?我认为'get'函数解析它.
在'to'和'as'的上下文中单个冒号怎么样?对此,我没有任何线索.

我读到单冒号指的是符号,但它们总是以下列格式显示
:nospace_varname

实质上,这是一个语法问题.

非常感谢!

ruby ruby-on-rails

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

Rails 4更新has_many的Lambda表达式

我更新了我Rails的版本的应用程序Rails 3.0Rails 4.1,我已经得到了以下错误:

ArgumentError: Unknown key: :order. Valid keys are: :class_name, :class, :for...
Run Code Online (Sandbox Code Playgroud)

问题出现在以下行中:

has_many :downloads, :dependent => :destroy, :order => "downloads.position DESC"
Run Code Online (Sandbox Code Playgroud)

经过一些谷歌研究,这条线看起来像这样:

has_many :downloads, :dependent => :destroy, -> {order('downloads.position DESC')}
Run Code Online (Sandbox Code Playgroud)

现在我得到了错误:

syntax error, unexpected '\n', expecting tASSOC
Run Code Online (Sandbox Code Playgroud)

我也尝试了其他变化,但没有任何效果.我希望你能帮助我.

lambda ruby-on-rails has-many ruby-on-rails-4.1

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