2017-08-20 7 views
0

私はRuby on Railsの新機能で、Ruby on 4thバージョンのプロジェクトで作業しています。今私はアクティブな管理者の注文のビューを変更していたが、私はエラーが発生しています。ActiveAdminの "view"アクションをカスタマイズする

ActiveAdmin.register Order do 
    permit_params :id, :order_completed, :approved 

    # changing the visual of view action, so admin user can able to see complete order details 
    show do |order| 
     attributes_table do 
      row :id # Order ID 
      row 'Name' params[:user].first_name # its not working, not showing the user first_name assiated with order id 
      # It should be user name. although user first_name is in users table and User model is availble. 
      row 'Adress' params[:user].address # its not working, not showing the user address assiated with order id 
      # It should be user address. although user first_name is in users table and User model is availble. 
     end 
    end 

    controller do 
     def show 
      order_id = Order.find(params[:id]).user_id 
      params[:user] = User.find(order_id) 
      show! 
     end 
    end 
end 

私の目標は、住所、氏名などのために関連付けられているユーザーの詳細情報を表示することであるなど

受注テーブルが

- id 
- user_id 
- order_completed (boolean) 
- approved 
- order_status (string) [in process, done] 

Userテーブルで構成さは

- id 
- first_name 
- last_name 
- address 
- membership_id 
で構成されてい

答えて

0

私はあなたがクラス 'Order'とクラス 'User'との関係をそれぞれのモデルで確立していると仮定します。 (belongs_toのとhas_manyの方法あなたがこの上でより多くの助けが必要な場合は私に知らせてください。。) 次に、あなたがクラスを登録するときActiveadminでもその関係を宣言する必要がので、この試してみてください。

app/admin/order.rb: 
    ActiveAdmin.register Order do 
     permit_params :id, :order_completed, :approved 
     belongs_to :user # Declaring that order belongs to user here 

     # changing the visual of view action, so admin user can able to see complete order details 
     show do |order| 
      attributes_table do 
       row :id # Order ID 
       row 'Name' do 
        @order.user.first_name 
       end 
       row 'Address' do 
        @order.user.address 
       end 
      end 
     end 

     controller do 
      def show 
       @order = Order.find(params[:id]) 
       show! 
      end 
     end 
    end` 
関連する問題