1
class User < ActiveRecord::Base
has_many :ties, dependent: :destroy
has_many :albums, through: :ties
end
class Album < ActiveRecord::Base
has_many :ties, dependent: :destroy
has_many :users, through: :ties
end
class Tie < ActiveRecord::Base
belongs_to :user
belongs_to :album, dependent: :destroy
end
К ... так, При попытке создать альбом, из AlbumsController # Создать действие:NameError с таблицей has_many_through
def create
@album = current_user.albums.build(params[:album]) #error is on this line
if @album.save
flash[:success] = "#{@album.description} created!"
redirect_to @album
else
flash[:error] = 'Looks like something was invalid with that album. Try again.'
redirect_to albums_path
end
end
я получаю uninitialized constant User::Ty
. Я думаю, что рельсы запутывают Tie
с Ty
. Есть идеи? Могу ли я заставлять определенные имена от en.yml
?
Есть ли какой-то причине вы не предполагают использование 'irregular', Райан? Это предназначено только для случая, когда правила по умолчанию не работают в любом направлении? –
@PeterAlfvin: Да, это так. Единственное значение для «связей» будет «связывать», но если вы разделите «галстук», вы всегда получите «связи». –
'C: /railsinstaller/ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/inflector/inflections.rb: 166: in 'inflections': неправильное количество аргументов (1 для 0) (ArgumentError) 'при попытке запустить сервер после этого. – Dudo