Я не могу получить результат области, отображаемой в моем представлении, поскольку я получаю это сообщение об ошибке. Я пытаюсь получить все суммы членства за день, добавленные и отображаемые как итоговыеОтсутствует ошибка атрибута Rails
missing attribute: membership_id
Мои модели и сфера
class Member < ActiveRecord::Base
belongs_to :membership
accepts_nested_attributes_for :membership
attr_accessible :membership_id, :forename, :middlename, :surname, :house_no, :house_name, :street, :town, :postcode, :home_tel, :mobile_tel, :work_tel, :email, :start_date, :expiry_date
scope :new_memberships_cash_today, ->() {
joins(:membership).where(:start_date => Date.today).select('ROUND(SUM(memberships.cost), 2)')
}
end
class Membership < ActiveRecord::Base
has_many :members, :dependent => :destroy
attr_accessible :membership_type, :cost
end
А потом мой взгляд
columns do
#Total amount in £ for New Memberships today
column do
panel "Cash Today", :class => 'NewAmountMemberships' do
table_for Member.new_memberships_cash_today do
column 'Total cash' do |c|
c.membership.map { |e| [e.cost, e.id] }
end
end
end
end
end
После некоторого прочтения ш ould кажется, что может быть проблема с моим вызовом select в области, так как мне нужно указать все атрибуты моделей для успешного вызова с помощью Active Record?
Как я совершаю сумму в избранном я не уверен, как добавить дополнительные атрибуты, если это даже случай
Любой помощь приветствуется
я запускал область в консоли, и это является то, что возвращается
Member Load (0.1ms) SELECT ROUND(SUM(memberships.cost), 2) FROM `members` INNER JOIN `memberships` ON `memberships`.`id` = `members`.`membership_id` WHERE `members`.`start_date` = '2013-12-13'
=> #<ActiveRecord::Relation [#<Member id: nil>]>
ваши возможности возвращения один объект и единственное, что вы можете получить от этого объекта, - это сумма. Я вижу, что вы пытаетесь получить доступ к объекту из объекта. Поскольку у него нет member_id, вы получаете сообщение об ошибке – usha
, поэтому любая идея о том, как настроить мою область, чтобы вернуть сумму стоимости столбца в модели членства? – Richlewis
'attr_accessible: membership_id' - очень плохая практика! Никакие связанные идентификаторы не должны быть доступны через params. Это позволит опытному пользователю связать члена с произвольным членством. –