我正在构建一个 Rails 锻炼应用程序,其中包含练习和例程。我希望每个例程都由多个练习组成(has_many :exercises),但一个练习不一定必须属于一个例程。有没有办法做到这一点?
我想在我的控制台中调用它(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
我是 Rails 新手。更改表名称时遇到问题。
我尝试通过转到迁移文件来更改名称create_table,并从那里更改名称,但它不起作用。
所以我有@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)