나는 할 수있는 앱의 '리뷰'섹션에 activeadmin을 설치하여 잘 작동하므로 내 비즈니스의 다양한 위치에 개별 리뷰를 추가 할 수 있습니다. 동일한 설정을 추가하려고했지만 리뷰가 아닌 BusinessReviews 모델을 사용하려고했습니다. (따라서 비즈니스 리뷰를 추가 할 수있게되었습니다)Active Admin에 갑작스러운 방법 오류가 있습니까?
활성 관리자 (로그인하고 '비즈니스'에 액세스 할 때까지 모든 것이 잘 작동합니다. 나는 시도하고 실제로 비즈니스 리뷰를 추가 할 때까지 리뷰 '패널은 괜찮 내가 다음 오류 얻을 :.
NoMethodError in Admin::BusinessReviews#new
이
undefined method `business_profile_image' for #<BusinessReview:0x007f893fe853d0>
내 모델은 다음과 같다 :
class BusinessReview < ActiveRecord::Base
belongs_to :location
has_many :images, :as => :referrer
accepts_nested_attributes_for :images, :allow_destroy => true
def thumbnail
if self.images.count > 0
self.images.last.avatar(:thumb)
else
nil
end
end
end
을 내 스키마의
ActiveAdmin.register BusinessReview do
index do
column :business_reviewer_name
column :business_review_content
column :business_reviewer_address
column :rating
column :location do |business_review|
business_review.location.name
end
column :business_profile_image do |business_review|
image_tag(business_review.business_profile_image) if business_review.business_profile_image.present?
end
actions
end
show do |business_review|
attributes_table do
row :business_reviewer_name
row :business_profile_image
row :business_review_content
row :business_reviewer_address
row :rating
row :location do
business_review.location.name
end
end
panel "Images" do
table_for business_review.images do
column {|img| img.currently_used }
column {|img| image_tag(img.avatar.url(:large)) }
end
end
active_admin_comments
end
permit_params [:id, :business_reviewer_name, :business_profile_image, :business_review_content, :business_reviewer_address, :rating, :location_id], images_attributes: [:id,:_destroy,:avatar,:usage_type, :currently_used]
form do |f|
f.inputs 'Details' do
f.input :business_reviewer_name
f.input :business_profile_image
f.input :business_review_content
f.input :business_reviewer_address
f.input :rating
f.input :location
end
f.inputs "images" do
f.has_many :images, :allow_destroy => true, :heading => 'Images', :new_record => true do |imgf|
imgf.input :currently_used
imgf.inputs "Attachment", :multipart => true do
imgf.input :avatar, :as => :file, :hint => imgf.object.avatar? \
? imgf.template.image_tag(imgf.object.avatar.url(:large))
: imgf.template.content_tag(:span, "no image yet")
end
end
end
f.actions
end
end
관련 부분 :
create_table "business_reviews", force: true do |t|
t.text "business_reviewer_content"
t.string "business_reviewer_name"
t.string "business_reviewer_address"
t.float "rating"
t.string "profile_image"
t.datetime "created_at"
t.datetime "updated_at"
end
라우트가 너무가 확인 될 것으로 보인다 다음과 같이 16,
을 my_app/관리/business_review.rb은?
batch_action_admin_business_reviews POST /admin/business_reviews/batch_action(.:format) admin/business_reviews#batch
_action
admin_business_reviews GET /admin/business_reviews(.:format) admin/business_reviews#index
POST /admin/business_reviews(.:format) admin/business_reviews#creat
e
new_admin_business_review GET /admin/business_reviews/new(.:format) admin/business_reviews#new
edit_admin_business_review GET /admin/business_reviews/:id/edit(.:format) admin/business_reviews#edit
admin_business_review GET /admin/business_reviews/:id(.:format) admin/business_reviews#show
PATCH /admin/business_reviews/:id(.:format) admin/business_reviews#updat
e
PUT /admin/business_reviews/:id(.:format) admin/business_reviews#updat
e
DELETE /admin/business_reviews/:id(.:format) admin/business_reviews#destr
oy
난 그냥 (그것에 추가 된 haveing하지 BUSINESS_에서 떨어져) 내가 완벽하게 작동을 설정하고 동일 리뷰를 하나로하지 않습니다.