1
私のアプリにはPlanモデルがあります。そして時々私は次のエラーをキャッチしています。サーバーを再起動した後、しばらくの間、離れます。PayPal-Ruby-SDKモデル名の競合
宝石のバージョン(1.6.0)
は、どのようにそれを固定することができますか?
NoMethodError in Subscriptions#index
undefined method `map' for #<PayPal::SDK::REST::DataTypes::PlanList:0x007fbc494c13c0>
Did you mean? tap
-
Rendering subscriptions/index.html.erb within layouts/application
Rendered subscriptions/index.html.erb within layouts/application (3.3ms)
Completed 500 Internal Server Error in 2145ms (ActiveRecord: 8.3ms)
ActionView::Template::Error (undefined method `map' for #<PayPal::SDK::REST::DataTypes::PlanList:0x007fbc494c13c0>
Did you mean? tap):
7: <div class="field">
8: <p class="control has-icons-left is-expanded">
9: <%= form.input_field :plan_id,
10: collection: @plans.map {|plan| ["#{plan.name} - $#{plan.cost}", plan.id]},
11: wrapper_html: { class: ' select is-fullwidth' }, class: 'input', label: false, prompt: 'Select a plan' %>
12: <span class="icon is-small is-left">
13: <i class="fa fa-bars"></i>
app/views/subscriptions/index.html.erb:10:in `block in _app_views_subscriptions_index_html_erb___836818763133109538_70223330120860'
app/views/subscriptions/index.html.erb:2:in `_app_views_subscriptions_index_html_erb___836818763133109538_70223330120860'
サブスクリプションコントローラインデックスアクション
def index @plans = Plan.all end
Webコンソール
Planオブジェクトの実装を教えてください。 – romainsalles
@romainsalles 2行 'has_many:subscriptions'と ' has_many:users、through::subscriptions'があります。それはサーバを再起動した後にうまく動作するので、列挙型を含めることではありません。 – kirqe
私はPayPal Gemを知らない。しかし、ドキュメンテーションを見ると、あなたは 'Plan.all.members'または' Plan.all.to_hash'を呼び出してそこに入るのを見てみるべきだと思います。 'Plan.all'は配列ではなく' PlanList'オブジェクトを返します(@see:https://github.com/paypal/PayPal-Ruby-SDK/blob/master/lib/paypal-sdk/rest /data_types.rb#L2055) – romainsalles