小编Tux*_*son的帖子

升级到Rails 4.1获取错误:ArgumentError:未知密钥::订单

我正处于升级过程中,遇到了一些问题.

这是我的错误:

/Users/jay/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.6/lib/active_support/core_ext/hash/keys.rb:71:in`block in assert_valid_keys':未知密钥::订单.有效密钥为:: class_name,:class,:foreign_key,:validate,:autosave,:table_name,:before_add,:after_add,:before_remove,:after_remove ,:extend,: primary_key ,: dependent,:as,:through,: source,:source_type,:inverse_of,:counter_cache,:join_table(ArgumentError)

它与我的示波器有关吗?例如:

scope :total_views, order('total_views DESC')

要么

default_scope { order: :sort_order }

要么

scope :recent, order: 'created_at desc'

我有一堆使用顺序的范围,发生了什么?

ruby activerecord ruby-on-rails upgrade

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

无法为Delayed :: Backend大量分配受保护的属性:ActiveRecord :: Job:priority queue,payload_object

我正在将我的应用程序迁移到4.1并遇到此错误的一些麻烦:

Failure/Error: get :facebook
 ActiveModel::MassAssignmentSecurity::Error:
   Can't mass-assign protected attributes for Delayed::Backend::ActiveRecord::Job: priority, queue, payload_object
 # ./app/models/user.rb:457:in `subscribe_to_mailchimp'
 # ./app/controllers/users/omniauth_callbacks_controller.rb:14:in `facebook'
 # ./config/initializers/log_formatter.rb:22:in `block (2 levels) in <top (required)>'
 # ./config/initializers/log_formatter.rb:21:in `block in <top (required)>'
 # ./spec/controllers/users/omniauth_callbacks_controller_spec.rb:23:in `block (3 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)

规格:

describe Users::OmniauthCallbacksController, ci: true do
  describe "when authenticating" do
    let(:user) do
      Fabricate(:user) 
    end
    let(:social_media_account) do
      Fabricate(:social_media_account, uid: "12345", provider: "facebook", user: user) 
    end

    before do
      term = Fabricate(:term, name: "application")
      user.terms << term
      Fabricate(:project)
    end

    it "redirects …
Run Code Online (Sandbox Code Playgroud)

ruby activerecord ruby-on-rails omniauth

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

Rails 3到4错误的参数错误为空哈希参数

在我切换到强大的参数后,我遇到了更新params的问题.我得到错误的参数错误,这是跟踪:

Started PATCH "/profiles/rails/about_me" for 127.0.0.1 at 2014-09-23 12:14:19 -0700
Processing by UsersController#about_me as 
  Parameters: {"utf8"=>"?", "user"=>{"about_me"=>"testt"}, "commit"=>"Update Biography", "id"=>"rails"}
  User Load (0.5ms)  SELECT  "users".* FROM "users"  WHERE "users"."deleted" = 'f' AND "users"."id" = 10  ORDER BY "users"."id" ASC LIMIT 1
   (0.2ms)  SELECT COUNT(*) FROM "terms" INNER JOIN "terms_users" ON "terms"."id" = "terms_users"."term_id" WHERE "terms_users"."user_id" = $1 AND "terms"."name" = 'application'  [["user_id", 10]]
  User Load (0.5ms)  SELECT  "users".* FROM "users"  WHERE "users"."deleted" = 'f' AND "users"."slug" = 'rails'  ORDER BY …
Run Code Online (Sandbox Code Playgroud)

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

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

PG :: SyntaxError:ERROR:"AS"错误Rails 4.1处或附近的语法错误

我刚刚将rails升级到4.1并且收到此错误:

PG::SyntaxError: ERROR:  syntax error at or near "AS"
LINE 1: SELECT COUNT(count_column) FROM (SELECT  * AS count_column F...
                                               ^
: SELECT COUNT(count_column) FROM (SELECT  * AS count_column FROM (SELECT thread_id,     max(id) as id FROM "messages"  WHERE 1=0 AND (thread_id IS NOT NULL) GROUP BY thread_id) last JOIN messages ON messages.id = last.id LIMIT 5 OFFSET 0) subquery_for_count
Run Code Online (Sandbox Code Playgroud)

这是方法:

- as_myself do
    %li#messages-open.icon-btn.email
      - message_count = inbox_messages.count.is_a?(Hash) ? inbox_messages.count.values.first : inbox_messages.count
      - if(message_count.present? && message_count > 0)
        %span= message_count
Run Code Online (Sandbox Code Playgroud)

postgresql activerecord ruby-on-rails

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