【发布时间】:2016-02-07 00:22:46
【问题描述】:
我正在 Rails4 中构建一个表单。当我添加 div 来设置此表单的样式时,f.submit 按钮停止工作。我没有更改控制器或模型。代码如下。谢谢!
_计划视图中的表格
<div class="sidebar-widget">
<div class="Pricing-box">
<div class="price-title spacing-box">
<h4>Create a New Plan</h4>
</div>
<hr>
<div class = "sidebar-form"
<%= form_for(plan) do |f| %>
<div class="name-field">
<%= f.label :name %>
<%= f.text_field :name %>
</div>
<div class="time-field">
<%= f.label :time %>
<%= f.time_field :time %>
</div>
<div class="date-field">
<%= f.label :date %>
<%= f.date_select :date %>
</div>
<div class="restaurant-field">
<%= f.label :restaurant %>
<%= f.collection_select :restaurant_id, Restaurant.all, :id, :name %>
</div>
</div>
<div class="spacing-grid">
<%= f.submit "Create Plan", class: 'btn btn-md btn-black'%>
<% end %>
</div>
</div>
来自计划控制器:新建、索引和创建操作
class PlansController < ApplicationController
def new
@plan = Plan.new
end
def create
@plan = Plan.create(plan_params)
@plan.users << current_user
redirect_to @plan
end
def index
@plans = Plan.all
#binding.pry
respond_to do |format|
format.html
format.js {}
end
end
在计划视图中,index.html.erb
<section class="ptb ptb-sm-50">
<div class="container">
<div class="row">
<div class="col-md-3 col-sm-4 mt-xs-30">
<%= render "plans/form", {plan: Plan.new } %>
<%= render "plans/all_plans", {plans: @plans} %>
</div>
</div>
</div>
</section>
【问题讨论】:
-
点击提交按钮后,您的日志中会显示什么?
-
这是 Rails 4 中表单中提交按钮的正确语法。你能发布完整的表单代码吗?也许还有一些模型/控制器代码。
-
@marsAtomic 奇怪的是,控制台中什么都没有发生。
-
如果你删除类,提交按钮是否有效?
-
您在使用 Turbolinks 吗?样式可能只是与您的困难巧合。您的日志没有显示任何内容的事实表明按钮按下被忽略了,这对我来说就像 Turbolinks。
标签: css ruby-on-rails ruby-on-rails-4 form-submit form-for