2016-10-11 7 views
0

내 앱이 한 시간 전에 완벽하게 작동 한 다음 'orders'테이블에 :pick_up:send 두 개의 열을 추가 한 후 오류order_form의 '잘못된 인수 수 (1을 0으로)'수정하는 방법

wrong number of arguments (1 for 0) 

왜이 오류가 발생했는지는 알 수 없습니다.

create_table "orders", force: :cascade do |t| 
    t.string "name" 
    t.string "email" 
    t.text  "address" 
    t.string "city" 
    t.string "country" 
    t.datetime "created_at",     null: false 
    t.datetime "updated_at",     null: false 
    t.boolean "shipped", default: false 
    t.string "pick_up" 
    t.string "send" 
end 
: 여기
<%= form_for @order do |f| %> 
    <%= render 'msg' %> 

    <div class="container"> 
    <div class="col-md-10"> 
     <h3>Please Enter Your Details</h3> 
    </div> 


    <div class="form-group"> 
    <div class="col-md-10"> 
     <%= f.label :name %> 
     <%= f.text_field :name, size: 40, class: 'form-control' %> 
    </div> 
    </div> 

    <div class="form-group"> 
    <div class="col-md-10"> 
     <%= f.label :email%> 
     <%= f.email_field :email, size: 40, class: 'form-control' %> 
    </div> 
    </div> 

    <div class="form-group"> 
    <div class="col-md-10"> 
     <%= f.label :address %> 
     <%= f.text_area :address, cols: 40, class: 'form-control' %> 
    </div> 
    </div> 

    <div class="form-group"> 
    <div class="col-md-10"> 
     <%= f.label :city %> 
     <%= f.text_field :city, size: 40, class: 'form-control' %> 
    </div> 
    </div> 

    <div class="form-group"> 
    <div class="col-md-5"> 
     <%= f.label :country %> 
     <%= f.country_select :country, { priority_countries: [ "IS", "US", "DE", "ES", "PT" ]}, { class: "form-control" }%> 
    </div> 


    </div> 


    <div class="form-group"> 

    <div id="payment-form"></div> 

    <div class="col-md-10"> 
     <br> 
     <%= f.submit 'Place Order', class: 'buttons' %> 

    </div> 
    </div> 

    </div> 
<% end %> 

이 schema.rb의 순서의 일부입니다

class OrdersController < ApplicationController 

    include CurrentCart 
    before_action :set_cart, only: [:new, :create] 
    before_action :set_order, only: [:show, :edit, :destroy] 

    def index 
    @orders = Order.all? 
    end 

    def new 
    @images = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg"] 
    @random_no = rand(5) 
    @random_image = @images[@random_no] 

    if @cart.product_items.empty? 
     redirect_to root_url, notice: 'Your Cart is Empty' 
     return 

    end 
    @order = Order.new 
    @client_token = Braintree::ClientToken.generate 
    end 

    def create 
    @order = Order.new(order_params) 
    if @order.save 
     charge 
     if @result.success? 
     @order.add_product_items_from_cart(@cart) 
     Cart.destroy(session[:cart_id]) 
     session[:cart_id] = nil 
     OrderNotifier.received(@order).deliver 
     redirect_to root_url, notice: 'Thank You for Your Order' 
     else 
     flash[:error] = 'Please Check Your Cart' 
     redirect_to root_url, alert: @result.message 
     @order.destroy 
     end 
    else 
     @client_token = Braintree::ClientToken.generate 
     render :new 
    end 
    end 


    def show 

    end 


    def destroy 
    @order.destroy 
    redirect_to root_url, notice: 'Order deleted' 
    end 

    private 

    def set_order 
    @order = Order.find(params[:id]) 
    end 

    def order_params 
    params.require(:order).permit(:name, :email, :address, :city, :country, :pick_up, :send) 
    end 

    def charge 
    @result = Braintree::Transaction.sale(
     amount: @cart.total_price_usd, 
     payment_method_nonce: params[:payment_method_nonce]) 
    end 

end 

이것은 주문 _form.html.erb입니다 : 여기

은 orders_controller.rb입니다

+0

는 차라리 탭보다, 들여 쓰기 공간을 사용하도록 편집기를 설정하는 것이 좋습니다 것입니다. Ruby 커뮤니티에서는 관용적이며 장기적으로 당신의 삶을 편하게 만듭니다. –

답변