AMcoder - javascript, python, java, html, php, sql

Rails 3.0.7 ռուբին 1.9.2 հարմարանքներով :belongs_to և :has_many տալիս է սեղանի օգտագործողներին սյունակ անունով գրառումներ:

Ես չեմ կարող բեռնել այս հարմարանքները և չգիտեմ ինչու: Խնդրի վրա մի քանի ժամ ծախսելուց և իրականության իմ ըմբռնումը լրջորեն կասկածի տակ առնելուց հետո: Այսպիսով, ես դիմում եմ այստեղ՝ հույս ունենալով, որ ինչ-որ մեկը մատնանշի սխալը, հուսով եմ, նվազագույն ծաղրանքով:

Ես փորձել եմ դա անել այնպես, ինչպես նկարագրված է api-docs և համակցելով authlogic փաստաթուղթ: Այն գրառումներից ոչ մեկը, որը ես կարողացա գտնել այստեղ SO-ում, նույնպես ոչ մի օգուտ չտվեց:

Օգտագործելով ruby ​​1.9.2-p180

users.yml

one:
  id: 0
  username: testuserone
  email: [email protected]
  password_salt: <%= salt = Authlogic::Random.hex_token %>
  crypted_password: <%= Authlogic::CryptoProviders::Sha512.encrypt("benrocks" + salt) %>
  persistence_token: <%= Authlogic::Random.hex_token %>
  posts: one, two

two:
  id: 1
  username: testusertwo
  email: [email protected]
  password_salt: <%= salt = Authlogic::Random.hex_token %>
  crypted_password: <%= Authlogic::CryptoProviders::Sha512.encrypt("benrocks" + salt) %>
  persistence_token: <%= Authlogic::Random.hex_token %>
  posts: one, two, valid_post

posts.yml

one:
  title: First valid Awesome post
  content: Clearly awesome content
  user: one

two:
  title: Second valid Awesome post
  content: Clearly more awesome content
  user: one

valid_post:
  title: Awesome post
  content: Clearly awesome content
  user: one

empty_post:
  title: 
  content: 
  user: one 

schema.rb

ActiveRecord::Schema.define(:version => 20110527132832) do

  create_table "posts", :force => true do |t|
    t.string   "title"
    t.string   "content"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer  "user_id"
  end

  create_table "users", :force => true do |t|
    t.string   "username"
    t.string   "email"
    t.string   "crypted_password"
    t.string   "password_salt"
    t.string   "persistence_token"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

end

post.rb - մոդել

class Post < ActiveRecord::Base
  cattr_reader :per_page
  @@per_page = 3
  default_scope :order => 'created_at DESC' 
  validates :title, :presence => true

  belongs_to :user
end

user.rb - մոդել

class User < ActiveRecord::Base
  attr_accessible :username, :email, :password, :password_confirmation

  acts_as_authentic

  has_many :posts
end

rake db:fixtures:load տալիս

փոցխ ընդհատվեց! SQLite3::SQLException. աղյուսակի օգտվողները չունեն սյունակ անունով գրառումներ. INSERT INTO "users" ("id", "username", "email", "password_salt", "crypted_password", "persistence_token", "posts", "created_at" , "updated_at") VALUES (0, 'testuserone', '[email protected]', 'ce407b78abcdf7ef7a179f2ef3c4452892411fe0705fc363623f669c42027404c eca75e1eae2f7965d2eeaf2262a3ce61df', 'ecd509731f30ed38442d4f0e6c0da81e7e747e5ded086be96a3b45b896cde0b45b896cde0b996f4161b4006f161b166f66f8f66f66f6f6f6f6f6f66f6f6f6f6f61b16f6f66f6f61b16f6f6f66f6f6f6f6f8f61b16f66f66b161b166f86f86f86f8b16b16b166f d20ac11332a413b8046ee9738167cc2', '784c46f5e1f8218592e5f46a00111a00281e53a25a36133c17de9e31f3a1456f8F33276f8f8f86f8f8f86f8fcf86fcf86f6fcf86fcf86fcf6fcw 37b900c6a1342329479dfd1c372d700a37c', 'մեկ, երկու', '2011-05-28 13:28:44 ', '2011-05-28 13:28:44')

Օգտագործված թանկարժեք քարեր

աղբյուր «http://rubygems.org»

Gem 'rails', '3.0.7' Gem 'will_paginate', '3.0.pre2' Gem 'athlogic' Gem 'nifty-generators' Gem 'sqlite3' Gem 'factory_girl_rails' Gem 'faker' Gem «mocha», :group = > :թեստ


Պատասխանները:


1

Ես երկար ժամանակ չեմ օգտագործել հարմարանքները, բայց կարծում եմ, որ կարիք չկա նկարագրելու ասոցիացիան users.yml-ում, քանի որ դուք արդեն դա անում եք posts.yml-ում: Փորձեք հեռացնել այդ տողերը:

28.05.2011
  • Հարմարանքները բեռնվում են, բայց կարծես թե որևէ կապ չկա գրառման և օգտագործողի միջև: Post.first =› #‹Գրառման id՝ 298486374, վերնագիր՝ Երկրորդ վավերական Awesome գրառում, բովանդակություն՝ Ակնհայտորեն ավելի հիանալի բովանդակություն, ստեղծված_at: 2011-05-28 14:22:14, updated_at: 2011-05-28 14:22: 14, user_id՝ 980190962 › User.first =› #‹Օգտվողի id: 0 ... ... User.first.posts =› [] 28.05.2011

  • 2

    Պարզվում է, որ այն սկսեց աշխատել կամ այն ​​ժամանակ, երբ ես տեղափոխեցի թեստային db-ն, կամ երբ բոլոր գրառումներին տվեցի անուններ, որոնք տարբերվում էին օգտվողներից, ինչպիսիք են :user_one, :user_two:

    28.05.2011
    Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..