按钮未调用 ruby 中的控制器



我有一个屏幕,用户可以在其中为他的帐户选择不同类型的计划。喜欢这个:

#plans
<% Plan.all.order(:amount).each do |plan| %>
<%= render 'shared/plan_detail', {plan: plan, button_text: 'Choose this' } %>
<% end %>
#plan_detail
<div class="plan-details">
<header class= <%= plan.css %> >
<h3><%= plan.name %></h3>
<small><%= plan.visibility %></small>      
<p><%= plan.card_description.html_safe %></p>
<span class="plan-price"><sup>$</sup><%= plan.amount.to_s %></span>
</header>
<article>
<%= plan.features_description.html_safe %>
<%= link_to button_text,  {:controller => "accounts", :action => "update_plan", :plan => plan.id }, title: button_text, :class=>"btn btn-md btn-block btn-outline-green dialog-open" %>
</article>
</div><!-- end plan details -->

在我的控制器中,我有:

#accounts_controller.rb
def update_plan
@plan = Plan.find(params[:plan])
current_user.plan = @plan
current_user.save
end

我的路线是这样的

get '/account/plans', to: 'accounts#plans', as: :update_plan
put '/account/plans', to: 'accounts#update_plan'

但是我点击按钮,什么也没发生。我在这里做错了什么?

这是一个很长的机会,但是看到你的链接已经dialog-open,如果有一些Javascript阻止你的链接工作,我不会感到惊讶。为了进一步调试,我会

a( 检查浏览器的 Javascript 控制台是否有任何错误

b( 删除dialog-open类以查看会发生什么

最新更新