2016-02-07 6 views
0

Я создаю форму в Rails4. Когда я добавил divs для стилизации этой формы, кнопка f.submit перестала работать. Я не изменил контроллер или модель. Код ниже. Благодаря!Добавление стиля в форму в Rails 4, вызывающее нажатие кнопки f.submit

_form в планы Посмотреть

<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> 

от контроллера Plans: новый, индекс и создать действия

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> 
+0

Что отображается в вашем журнале при нажатии кнопки «Отправить»? – MarsAtomic

+1

Это правильный синтаксис для кнопки отправки в форме в Rails 4. Можете ли вы опубликовать полный код формы? Возможно, какой-то код модели/контроллера. –

+0

@marsAtomic Странно, ничего не происходит в консоли. – Keren

ответ

0

Попробуйте изменить свой тег form_for так, чтобы он выглядел так:

<%= form_for @plan, url: {action: "create"} do |f| %> 

Это синтаксис, который рекомендует руководство Rails - не уверен, что это решит вашу проблему или нет.

+0

Спасибо! Я пробовал это (за исключением того, что, поскольку это часть, которая будет использоваться разными контроллерами, я не использовал переменную экземпляра - я определяю план на странице index.html.erb, которая отображает частичное), но это не сработало , Я думаю, что создание - это действие по умолчанию для формы. – Keren