【发布时间】:2016-07-21 15:20:29
【问题描述】:
多个设计注册表视图
我假设第一行 div 中注入的 ruby 的整个格式不正确。我包括它以显示所需的设计注册视图的数量。我也包括了错误,知道它很明显。
有人愿意借此机会为多个 if、elsif、when 等语句举例说明正确的 RoR 格式吗?我喜欢所有的意见。
请原谅并更正您认为合适的任何不正确的术语。
谢谢
错误:SyntaxError in Devise::RegistrationsController#new
设计/注册/new.html.erb
<div class="row">
<%= if params[:plan] == '1' %>
Contributor
<%= elsif params[:plan] == '2' %>
Elite Contributor
<%= elsif params[:plan] == '3' %>
Technician
<%= elsif params[:plan] == '4' %>
Elite Technician
<%= elsif params[:plan] == '5' %>
Center
<%= elsif params[:plan] == '6' %>
Elite Center
<%= elsif params[:plan] == '7' %>
Affair
<%= elsif params[:plan] == '8' %>
Elite Affair
<% end %>
<div class="col-md-4 col-md-offset-4">
<div class="well">
<div class="page-header text-center">
<h2>JOIN</h2>
<li role="separator" class="divider"></li>
</div>
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<div class="field form-group">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true, class: 'form-control' %>
</div>
<div class="field form-group">
<%= f.label :password %>
<% if @minimum_password_length %>
<em>(<%= @minimum_password_length %> characters minimum)</em>
<% end %><br />
<%= f.password_field :password, autocomplete: "off", class:'form-control' %>
</div>
<div class="field form-group">
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation, autocomplete: "off", class:'form-control' %>
</div>
<br>
<div class="actions text-center">
<%= f.submit " JOIN ", class:'btn btn-lg btn-success' %>
</div>
<% end %>
<div class="text-right">
<%= render "devise/shared/links" %>
</div>
</div>
</div>
</div>
控制器/pages_controller.rb
def home
@contributor_plan = Plan.find(1)
@elitecontributor_plan = Plan.find(2)
@technician_plan = Plan.find(3)
@elitetechnician_plan = Plan.find(4)
@center_plan = Plan.find(5)
@elitecenter_plan = Plan.find(6)
@affair_plan = Plan.find(7)
@eliteaffair_plan = Plan.find(8)
end
pages/home.html.erb
(我主页视图上的众多红宝石链接之一)
<%= link_to "Contributor", new_user_registration_path(plan: @contributor_plan.id), class:'btn btn-info btn-lg btn-block' %>
【问题讨论】:
-
尝试注释掉几乎所有代码,然后逐块取消注释以找出导致语法错误的部分。找到相关块后,看看是否可以将其缩小到一行并更新您的帖子。
-
@nicholas79171 - 感谢您提供简单有效的提示。我会经常使用它。我已将错误范围缩小到注册文件中第一个“div 行”中注入的 ruby 代码。删除此代码后,它会成功路由到正确的视图(url 计划 ID 匹配),但无法在表单中为每个不同的计划显示唯一的 html。
标签: ruby-on-rails if-statement model-view-controller devise controller