Брак формы Rails и шаблона HTML / CSS

#ruby-on-rails #css

#ruby-on-rails #css

Вопрос:

Я приобрел шаблон HTML / CSS для использования в приложении Rails. У меня есть приложение Rails, которое хорошо работает с шаблоном, помещая код шаблона в качестве макета, а затем используя <%= yield %> для размещения содержимого rails в шаблоне. Все работает нормально, включая стили CSS.

Одна морщина….

Кажется, я не могу заставить экран входа в систему работать. Проблема, по-видимому, заключается в замене способа обработки формы шаблоном (проблема с HTML и CSS) и способа, которым Rails хочет передать форму.

Вот область формы шаблона:

 <body id="login">
    <header>
        <div id="logo">
            <a href="login.html">whitelabel</a>
        </div>
    </header>
    <section id="content">
    <form action="submit.php" id="loginform">
        <fieldset>
            <section><label for="username">Username</label>
                <div><input type="text" id="username" name="username" autofocus></div>
            </section>
            <section><label for="password">Password <a href="#">lost password?</a></label>
                <div><input type="password" id="password" name="password"></div>
                <div><input type="checkbox" id="remember" name="remember"><label for="remember" class="checkbox">remember me</label></div>
            </section>
            <section>
                <div><button class="fr submit">Login</button></div>
            </section>
        </fieldset>
    </form>
    </section>
    <footer>Copyright by revaxarts.com 2011</footer>
  

И вот стандартный код формы входа в Rails (с использованием представлений Devise)

     <h2>Sign in</h2>

    <%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
     <p><%= f.label :emailer %><br />
     <%= f.text_field :email %></p>

    <p><%= f.label :password %><br />
    <%= f.password_field :password %></p>

    <p><%= f.submit "Sign in" %></p>
    <% end %>

    <%= render :partial => "devise/shared/links" %>
  

Кажется, я не могу понять, как ввести инструкции CSS в существующую Rails form_for parts. Я пробовал много разных комбинаций, но ничего не работает.

Наконец, за исключением стиля CSS, форма будет отправлена и позволит мне войти в приложение, поэтому я знаю, что внутренняя схема разработки работает. Он просто не будет использовать стиль CSS.

Кроме того, я могу вырезать и вставить весь код с экрана входа в шаблон, а поля входа в систему загружаются с правильным стилем CSS, поэтому я знаю, что часть указывает на правильные файлы CSS и JS, и что они присутствуют и работают.

Есть идеи?

Спасибо!

Ответ №1:

Вам просто нужно добавить идентификатор CSS и параметры класса в представление:

 <%= form_for ..., :class => 'someclass', :id => 'someid' %>
  

http://guides.rubyonrails.org/form_helpers.html