小编Vik*_*tor的帖子

过渡:翻译和z-index

似乎CSS transition: translate()与之冲突,z-index我无法为自己的积木创建折叠效果。

的HTML

<div class="card">
  <div class="arrow-box">
    <span>Destinations</span>
  </div>
  <div class="choice" style="z-index: 1">
    <div class="choice-header">New York</div>
    <div class="choice-content" style="background: red"></div>
  </div>
  <div class="choice" style="z-index: 2">
    <div class="choice-header">Boston</div>
    <div class="choice-content" style="background: #801566"></div>
  </div>
  <div class="choice" style="z-index: 3">
    <div class="choice-header">Seattle</div>
    <div class="choice-content" style="background: green"></div>
  </div>
  <div class="choice" style="z-index: 4">
    <div class="choice-header">Washington</div>
    <div class="choice-content" style="background: #1e3180"></div>
  </div>
  <div class="choice" style="z-index: 5">
    <div class="choice-header">San Francisco</div>
    <div class="choice-content" style="background: #e5f400"></div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

的CSS

.choice {
  transition: .6s;
  margin-bottom: -264px;
  z-index: 0; …
Run Code Online (Sandbox Code Playgroud)

html javascript css css3 css-transitions

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

如何为 params.permit 设置默认值

我想为我允许的参数之一设置默认值。

我试着像他们说的那样做http://api.rubyonrails.org/classes/ActionController/Parameters.html

class UsersController < ApplicationController

  def new
    @user = User.new
  end

  def show
   @user = current_user
  end

  def create
    user_params = ActionController::Parameters.new({
                                                       user: {
                                                           avatar_link: '/assets/avatar-placeholder.png'
                                                   }
                                               })
    @user = User.new(user_params)
    if @user.save
      session[:user_id] = @user.id
      redirect_to user_path(current_user)
    else
      redirect_to new_user_path
    end
  end

  private

  def user_params
    params.require(:user).permit(:name, :username, :email, :password, :password_confirmation, :avatar_link)
  end
end
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用——ActiveModel::ForbiddenAttributesError (ActiveModel::ForbiddenAttributesError)因为这部分,我得到了:

user_params = ActionController::Parameters.new({
                                              user: {
                                                  avatar_link: '/assets/avatar-placeholder.png'
                                              }
                                          })
Run Code Online (Sandbox Code Playgroud)

我应该如何设置我的默认值params

UPD:我尝试使用@xlembouras 解决方案,但现在我有了 rollback transaction

def user_params
  defaults = …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails-4

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

Zlib::GzipFile::错误:不是 gzip 格式

zlib我正在尝试使用和解码 gzip 压缩的字符串jruby。这是最小的工作示例。

require 'stringio'
require 'zlib'

str = 'H4sIAAAAAAAA/y2NwQrDIBAFfyXstUbWNWrir5RSrEoQUi2JOZSQf6+EHt8wzDtgKd7VVPIG9n7AMwWwYhj1MBkkwtEwcN7vq/NfsAo5MnhFt6Y8g71WcDXW9I5ggVCYHqlH0xE12RJ1N5SIwGBpJ3UPTVOKa41IssGS5z+Vhhs1SdHo9okxXPXzcf4AY45Ve6EAAAA='
input = StringIO.new(str)
puts Zlib::GzipReader.new(input).read
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出

/Users/duke/.rvm/rubies/jruby-1.7.23/bin/jruby --1.9 -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/duke/RubymineProjects/untitled/gzip_test.rb
Zlib::GzipFile::Error: not in gzip format
  initialize at org/jruby/ext/zlib/JZlibRubyGzipReader.java:156
         new at org/jruby/ext/zlib/JZlibRubyGzipReader.java:85
      (root) at /Users/duke/RubymineProjects/untitled/gzip_test.rb:6
        load at org/jruby/RubyKernel.java:1059
      (root) at -e:1

Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

gzip 压缩的字符串有效。您可以在这里尝试http://www.txtwizard.net/compression

ruby gzip zlib jruby decoding

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

raise_error 上的 RSpec 失败

我有一个简单的功能。

def check_num(num)
  if num.is_a?(Integer) && num > 0
    #...
  else
    raise 'NOT VALID'
  end
end
Run Code Online (Sandbox Code Playgroud)

并尝试使用 RSpec 进行以下测试来测试它:

require 'find'

describe 'check_num' do

  describe 'errors' do

    it 'raises an error if parameter is 0' do
      expect(check_num(0)).to raise_error(RuntimeError)
    end

    it 'raises an error if parameter is less than 0' do
      expect(check_num(-1)).to raise_error(RuntimeError)
    end

    it 'raises an error if parameter is not a number' do
      expect(check_num('Heya, Am a string')).to raise_error(RuntimeError)
    end

  end

end
Run Code Online (Sandbox Code Playgroud)

这就是我的测试得到的结果:

/home/duke/.rvm/rubies/ruby-2.2.3/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /home/duke/.rvm/gems/ruby-2.2.3/bin/rspec /home/duke/RubymineProjects/rspec_tutor/prime_numbers/spec/find_spec.rb --require teamcity/spec/runner/formatter/teamcity/formatter …
Run Code Online (Sandbox Code Playgroud)

ruby rspec

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

渲染 :json 没有模板

据我所知,json可以在没有模板的情况下在 Rails 上呈现,使用以下代码:

module Overrides
  class SessionsController < DeviseTokenAuth::SessionsController
    def destroy
      render json: {
          errors: 'Test 200'
      }, status: 200
    end
Run Code Online (Sandbox Code Playgroud)

我也试过以下:

respond_to do |format|
  format.json { render :json => {success:true}, status: 200}
end
Run Code Online (Sandbox Code Playgroud)

没有结果。我仍然遇到同样的错误。

Started DELETE "/auth/sign_out" for 127.0.0.1 at 2016-04-28 20:29:27 +0300
Processing by Overrides::SessionsController#destroy as json
  User Load (0.0ms)  SELECT  "users".* FROM "users" WHERE "users"."uid" = $1 LIMIT $2  [["uid", "demo"], ["LIMIT", 1]]
   (0.0ms)  BEGIN
  SQL (0.5ms)  UPDATE "users" SET "tokens" = $1, "updated_at" = …
Run Code Online (Sandbox Code Playgroud)

ruby json ruby-on-rails devise ruby-on-rails-5

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

模型中描述的属性的详细名称

如何设置verbose_name@property,这是我在模型中描述的那样,这样我就可以在Django管理看到不同的字段名称(如"子类别")?

@property
def category_name(self):
    return self.category.name
Run Code Online (Sandbox Code Playgroud)

我试图在方法中设置Meta short_description和详细名称 - 它不起作用.

django django-models django-admin

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

动态生成方法名称的前缀

假设我们有一堆带有典型前缀的方法.

def pref_foo
  # code
end

def pref_bar
  # code
end
Run Code Online (Sandbox Code Playgroud)

我想学习如何自动将这些前缀添加到我的方法名称中(就像在Rails中完成它一样Model.find_by_smth).

换句话说,我想创建一些范围pref_,它采用方法和prepends pref_到它们的名字,所以我的方法foo变得可用pref_foo.


module Bar
  # definition of some wrapper `pref_`
end

class Foo
  include Bar

  <some wrapper from Bar> do
    def foo
      puts 'What does a computer scientist wear on Halloween?'
    end

    def bar
      puts 'A bit-mask.'
    end
  end
end

foo = Foo.new

foo.pref_foo # => "What does a computer scientist wear on Halloween?"
foo.pref_bar # => "A bit-mask."
Run Code Online (Sandbox Code Playgroud)

ruby dsl metaprogramming

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

为什么在HAML上使用.times后我得到一个HTML编号?

这是HAML代码:

= 10.times do
  %div
Run Code Online (Sandbox Code Playgroud)

HTML结果是:

    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    10
Run Code Online (Sandbox Code Playgroud)

为什么我得到这个10我的后divS'

html haml ruby-on-rails-4

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