我有一个屏幕,用户可以在其中为自己的帐户选择不同的计划。像这样:
#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'
但是我单击按钮,没有任何反应。我在这里做错了什么?
答案 0 :(得分:1)
这是一个远景,但是看到您的链接有dialog-open
,如果有一些Javascript阻止您的链接正常工作,我也不会感到惊讶。为了进一步调试,我会
a)检查浏览器的Javascript控制台是否有错误
b)删除dialog-open
类以查看会发生什么情况