小编use*_*677的帖子

未使用重定向设置实例变量

什么会导致我的实例变量 @product 无法为重定向设置/传递。Product 是一个 ActiveModel 对象,而不是 ActiveRecord。更具体地说,@product 变量没有出现在 redirect_to(new_services_path) 或 redirect_to(home_path) 页面中。因为@product 变量需要在我的每页上的页脚中填充一个表单。

应用控制器:

class ApplicationController < ActionController::Base 
  before_filter :set_product

  private

  def set_product
    @product ||= Product.new
  end
end
Run Code Online (Sandbox Code Playgroud)

产品_控制器:

  def new
  end


 def create
    @product = Product.new(params[:product])

    if  @product.category == "wheels"
      redirect_to(new_services_path) 
    else
      redirect_to(home_path) 
    end
  end
Run Code Online (Sandbox Code Playgroud)

与此原始帖子相关的问题.. 通过多个部分传递变量(rails 4)

ruby-on-rails instance-variables ruby-on-rails-4

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

Git prune 没有删除我的本地分支

我在 Github.com 上删除了一堆合并分支,我执行了 git pull,但我的所有分支仍然显示。

于是我跑了..

git remote prune origin
Run Code Online (Sandbox Code Playgroud)

它表明分支在输出中被修剪。

但是,当我运行时,所有已删除的分支都会显示出来

git branch
Run Code Online (Sandbox Code Playgroud)

我想我做了一些与我预期不同的事情?我做了什么?如何从本地删除已从 GitHub 删除的分支?

在这篇文章中: git remote prune origin 不会删除本地分支,即使其上游远程分支被删除

它提到了同样的问题,但我不明白他们的意思,当他们说它会从本地删除陈旧的远程分支时。

git github

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

在更新中从 Stripe 订阅中删除优惠券

我需要在更新期间删除订阅上的优惠券,我认为将 nil 优惠券传递给 api 应该将其删除,但它只是将其从帖子中删除。

还有另一种方法可以这样做.. https://stripe.com/docs/api/discounts/subscription_delete

但它需要另一个我不想做的电话。

红宝石条纹宝石 API:

      Stripe::Subscription.update(
        subscription.stripe_id,
        {
          coupon: nil,
          items: [
            {
              id: subscription.item_stripe_id,
              quantity: 0,

            },
            { 
              plan: to_plan.stripe_id,
              quantity: 1
            }
          ],
        }
      ) 
Run Code Online (Sandbox Code Playgroud)

创建一个像这样的 post 请求:

{
  "items": {
    "0": {
      "id": "si_G5sdf33t89",
      "quantity": "0"
    },
    "1": {
      "plan": "a_plan",
      "quantity": "1"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails stripe-payments ruby-on-rails-5.2

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

Rails 6 中的自动加载和 Zeitwerk 模式

在 Rails 6 的 Zeitwerk 模式中,这些代码中的任何一个都折旧了吗?

 class Application < Rails::Application
    # Initialize configuration defaults for originally generated Rails version.
    config.load_defaults 5.2

    # config/application.rb
    config.i18n.load_path += Dir[Rails.root.join("config", "locales", "**", "*.{rb,yml}")]
    config.i18n.fallbacks = true

    # Settings in config/environments/* take precedence over those specified here.
    # Application configuration can go into files in config/initializers
    # -- all .rb files in that directory are automatically loaded after loading
    # the framework and any gems in your application.
    config.autoload_paths += ["#{config.root}/app/queries/"]


    # https://gist.github.com/maxim/6503591 (should remove …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-6

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

将Active Record集转换为哈希数组

我看到了这个...

如何将activerecord结果转换为哈希数组

并且想要创建一个允许我将任何作用域或非作用域记录集转换为散列数组的方法.我把它添加到我的模型中:

 def self.to_hash
   to_a.map(&:serializable_hash)
 end
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误.

NameError: undefined local variable or method `to_a' for #<Class:0x007fb0da2f2708>
Run Code Online (Sandbox Code Playgroud)

任何的想法?

ruby-on-rails

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

带注释的 SASS 编译

我正在编译一个 SCSS 文件,它似乎删除了我的评论。我可以使用什么命令来保留所有评论?

>SASS input.scss output.css
Run Code Online (Sandbox Code Playgroud)

我在 SCSS 中看到两种类型的注释。

// Comment
Run Code Online (Sandbox Code Playgroud)

/* Comment */
Run Code Online (Sandbox Code Playgroud)

有什么不同?

sass sass-rails

4
推荐指数
2
解决办法
1724
查看次数

在Controller(RAILS)中动态创建方法

我正在尝试为半静态页面动态创建方法.但是,下面的代码似乎不起作用.我收到一个wrong number of arguments (0 for 1)错误.

class PagesController < ApplicationController

  pages = %w[ page1 page2 page3 ]

  pages.each do |page|          
    define_method(page) do |a|
      #do nothing
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

controller metaprogramming ruby-on-rails ruby-on-rails-4

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

SH 文件未设置 ENV 变量 (Mac OS X)

我有一个文件 set_env.sh,我使用以下命令在终端中运行该文件:

sh set_env.sh

代码运行,但变量未设置。我正在检查

回显$EMAIL_SERVER

set_env.sh

#!/bin/sh

echo email Address
read y

echo email password?
read x

export EMAIL_SERVER='smtp.gmail.com'
export EMAIL_PORT=587
export EMAIL_DOMAIN='domain.com'
export EMAIL_AUTHENTICATION='plain'
export EMAIL_ENABLE_STARTTLS_AUTO=true
export EMAIL_USERNAME=$y
export EMAIL_PASSWORD=$x
Run Code Online (Sandbox Code Playgroud)

macos terminal sh bin

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

Rails t.array 与 t.string 数组:true,默认值:[]

我正在使用 Rails 5 和 POSTGRES,需要添加一个数组列。我见过不同的语法来做到这一点。

之间的迁移有什么区别..

t.string, :A_options array: true, default: []
Run Code Online (Sandbox Code Playgroud)

t.integer, :A_options array: true, default: []
Run Code Online (Sandbox Code Playgroud)

t.array, :A_options
Run Code Online (Sandbox Code Playgroud)

为什么指定类型为整数或字符串?前两个与后一个有何不同?

另外,有没有办法使用 Rails 生成器添加带有 default:[] 的数组?

postgresql ruby-on-rails ruby-on-rails-5

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

If语句和Case语句-不匹配

为什么该if语句有效,但该case语句无效?

class A
end      # => nil

a= A.new  # => #<A:0x00007fd9d6134770>
Run Code Online (Sandbox Code Playgroud)

If 陈述作品

a.class == A  # => true
Run Code Online (Sandbox Code Playgroud)

Case 声明不起作用

case a.class   # => A
when A
  puts "done"
else
  puts "else"  # => nil
end            # => nil

# >> else
Run Code Online (Sandbox Code Playgroud)

我读过case语句使用===运算符,而不是==,如何使用==case语句?

ruby

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