标签: rails-activerecord

Rails 有没有办法让一个模型选择性地属于另一个模型?

我正在构建一个 Rails 锻炼应用程序,其中包含练习和例程。我希望每个例程都由多个练习组成(has_many :exercises),但一个练习不一定必须属于一个例程。有没有办法做到这一点?

ruby-on-rails has-many belongs-to rails-activerecord

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

为什么我在 Rails 5 的 Rails 控制台中遇到严重参数错误?

我想在我的控制台中调用它(ap是很棒的打印宝石):

ap Purchase.last(10)
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

ActionController::UnfilteredParameters: unable to convert unpermitted parameters to hash
Run Code Online (Sandbox Code Playgroud)

它的工作原理如下:

irb(main):020:0> ap Purchase.last
#<Purchase:0x00007f86b792a320> {
                              :id => 28445,
                         :user_id => 10177,
                      :product_id => nil,
                    :product_type => nil,
                           :price => 9.0,
                    :gateway_code => nil,
                     :gateway_msg => nil,
                :gateway_response => nil,
                      :created_at => Fri, 18 May 2018 22:20:10 UTC +00:00,
                      :updated_at => Fri, 18 May 2018 22:20:10 UTC +00:00,
                  :checkout_total => 9.0,
                      :successful => true,
                         :cart_id => 17242,
                   :report_errors => nil,
    :transacted_value_of_products => 9.0,
            :comp_credits_applied => 0.0 …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails strong-parameters awesomeprint rails-activerecord

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

如何更改表名?

我是 Rails 新手。更改表名称时遇到问题。

我尝试通过转到迁移文件来更改名称create_table,并从那里更改名称,但它不起作用。

ruby-on-rails rails-activerecord

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

如何按字符串排序,Ruby

所以我有@cake.type,它可以是“Primo”、“Multilayered”、“Decorative”、“On Sale”、“Basic”`

我想按该顺序组织蛋糕列表。因此,所有“Primo”蛋糕都位于顶部,接下来是所有“多层”蛋糕,等等。每种类型的蛋糕都应按“created_at”进一步列出(最旧创建的蛋糕在前)。

@cakes = []
@cakes << @store.cakes.where(type: "Primo").order(created_at: :desc) 
@cakes << @store.cakes.where(type: "Multilayered").order(created_at: :desc) 
@cakes << @store.cakes.where(type: "Decorative").order(created_at: :desc) 
@cakes << @store.cakes.where(type: "On Sale").order(created_at: :desc) 
@cakes << @store.cakes.where(type: "Basic", "Basic").order(created_at: :desc) 
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以通过一个查询来完成它?

... 或许:

cake_eater_nom = []

c = @store.cakes
primo_cakes = c.where(type: "Primo").order(created_at: :desc)
cake_eater_nom << primo_cakes
multilayered_cakes = c.where(type: "Multilayered").order(created_at: :desc) 
cake_eater_nom << multilayered_cakes
decorative_cakes = c.where(type: "Decorative").order(created_at: :desc) 
cake_eater_nom << decorative_cakes
on_sale_cakes = c.where(type: "On Sale").order(created_at: :desc)
cake_eater_nom << on_sale_cakes
basic_cakes = c.where(type: "Basic").order(created_at: :desc) …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails sql-order-by rails-activerecord

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