2015-05-11 5 views
4

Я создал форму в Rails, и когда я добавлю класс CSS в текстовое поле, форма не будет отправлена.Ruby on Rails - добавление CSS в text_field

Я до сих пор новичок в рельсах, поэтому любая помощь будет высоко оценена.

Это моя форма:

<% @page_title = "Contact" %> 
    <hr> 
    <div class="col-lg-12"> 
       <h1 class="page-header"> 
        BK Legal Courier Corp <br />Call BK @ <span style="color:#47B224">613-286-8265</span> 
       </h1> 
      </div> 

<hr> 
<div class="container"> 
    <h2>Contact Us</h2> 
    <%= form_for :fc, :url => {:action => 'create'} do |f| %> 
    <div class="form-group"> 
     <%= f.label :first_name %> 
     <%= f.text_field (:first_name, :class => 'form-control')%> 
    </div> 
    <div class="form-group"> 
     <%= f.label :last_name %> 
    <%= f.text_field (:last_name, :class => 'form-control') %> 
    </div> 
    <div class="form-group"> 
     <%= f.label :email %> 
     <%= f.text_field (:email, :class => 'form-control') %> 
    </div> 
    <div class="form-group"> 
    <%= f.label :comment %> 
<%= f.text_area (:comment, :class => 'form-control') %> 
</div> 
<div class="form-group"> 
    <%= f.label :referral %> 
     <%= f.select (:referral, [['Friends', 1], ['News', 2], ['Online', 3], ['Other', 4]], :class => 'form-control')%> 
</div> 
<%= submit_tag ("Submit") %> 
    </form> 
</div> 

<% end %> 
</body> 

</html> 

Проблема заключается в том, что моя форма будет представлять только без: класс => «форм-контроль» в нем. Я должен иметь скобки вокруг каждой из переменных поля формы.

Это мой routes.rb файл:

Rails.application.routes.draw do 
    root "home#index" 


    match ':controller(/:action(/:id))', :via => [:get, :post] 

    end 

Это мой контроллер:

class HomeController < ApplicationController 
    def home 
     render("home/index") 
    end 
     def new 
@fc = FeedbackCustomer.new 
    end 
    def create 
    # Instantiate a new object using form parameters 
    @fc = FeedbackCustomer.new(feedbackcustomer_params) 
if @fc.save 
    redirect_to(:action => "home") 
end 
    end 

    def application 

    end 

private 

def feedbackcustomer_params 
params.require(:fc).permit(:first_name, :last_name, 
    :email, :comment, :referral) 
    end 
end 

Любая помощь будет оценена. Благодаря!

ответ

3

Если вы используете Ruby, 1.9+ Это должно работать:

<%= f.text_field :last_name, class: 'form-control' %> 

Если вы используете версию, которая старше, чем 1.9, то это должно работать:

<%= f.text_field :last_name, :class => 'form-control' %> 

Для получения дополнительной информации о это вы можете использовать ActionView::Helpers::FormTagHelper API Documentation

Form Helpers Rails Guide может быть вам полезен.

2

Для самой последней версии Ruby, вы можете также сделать:

<%= f.text_field :last_name, class: 'form-control' %>