2014-01-10 1 views
2

Я очень новичок в Rails.Каков наилучший способ отображения данных формы в рельсах?

Я ищу наиболее распространенный и «рельсоподобный» способ отображения вывода данных формы. Я знаю, что Simple form и Formtastic - хорошие варианты для написания краткого кода и отображения полей ввода в удобной для пользователя форме. Тем не менее, я ищу что-то немного другое, я хочу отображать данные из этих форм в качестве вывода, и я хочу сделать это аналогичным и сжатым образом. Я не смог найти ничего за последние несколько дней, которые я искал, поэтому решил, что я должен попросить Stack Overflow.

Что вы обычно делаете:

  • Написать пользовательские помощники, чтобы иметь возможность писать сжатый код и отображать выходные данные?
  • Использовать Simpleform/Formtastic, отключить поля и изменить css на сделать так, как вы хотите?
  • Есть ли общий камень, который делает это? Или, возможно, другим способом, о котором я не думал.
  • Во-первых, спасибо за первоначальные ответы. Я думал, что должен уточнить свой вопрос. Поскольку ответы не совсем поразительны. У меня уже есть метод show в контроллере, а также шаблон представления для него. В настоящее время я показываю каждое поле отдельно в форме около 12 полей, используя form_for. См пример фрагмент кода ниже:

    <%= form_for(@event) do |f| %> 
        <div class="row-fluid"> 
         <div class="span6"> 
         <%= render 'shared/error_messages' %> 
    
         <%= f.label :title %> 
         <%= f.text_field :title, :disabled => true %> 
    
         <%= f.label :start_date %> 
         <%= f.date_field :start_date, :disabled => true %> 
         </div> 
        </div> 
        <% end %> 
    

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

    +0

    Под «данными формы дисплея» вы имеете в виду только представление представления вашего контроллера? Он отделен от вашей формы и, вероятно, должен отображаться по-разному. – sevenseacat

    +0

    Существует не один лучший способ. Это ваш выбор, но сделайте это в вашем файле view.html.erb. (Мне нравится использовать HAML) – gdelfino

    ответ

    0

    Самый простой способ создания форм - использовать rails g scaffold Example name:string. Это создало бы Модели, Представления, Контроллер и необходимые миграции базы данных для Модели с именем Example с атрибутом Name, который является строкой.

    Затем вы использовали html и css, чтобы создать представление, как вы хотите.

    Существует масса полезной информации для вас на направляющих по направляющим here.

    0

    Хотя этот вопрос весьма неоднозначен, вы должны понимать, что эта функциональность точно то, что построено Рельсы для (представить данные & быть в состоянии отображать/управлять его где-нибудь еще)


    данных

    данные в MVC приложении связан один очень важный фактор - базы данных

    Если вы отправляете данные через форму, ваша цель состоит в том, чтобы сохранить его в базе данных, а также отображать его в других методах вид/контроллер

    Следовательно, тупой вопрос, ваш ответ должен соблюдать MVC processes, и сохранить ваши данные в центральное хранилище (база данных или другой), которые вы можете позвонить позже:

    enter image description here


    Вид

    Чтобы получить данные в хранилище данных, в первую очередь необходимо представить его

    view часть MVC, где вы можете отображать пользовательский интерфейс, и, следовательно, где вы можете поместить вашу форму. Существует целый учебник о том, как разработать этот here, но ради демонстраций, вот пример того, как вы будете использовать вашу форму:

    #app/views/posts/new.html.erb 
    <%= form_for @post do |f| %> 
        <%= f.text_field :title %> 
        <%= f.text_field :body %> 
        <%= f.submit %> 
    <% end %> 
    

    контроллер

    вами данные вход в ваше представление будет отправлен на ваш контроллер при сохранении

    Данные отправляются с помощью метода HTML POST, который будет считаться Rails как хэш-код params[].Этот хэш содержит все отправленные элементы из HTML формы, и может быть использован, как это:

    #app/controllers/posts_controller.rb 
    def new 
        @post = Post.new 
    end 
    
    def create 
        @post = Post.new(post_params) 
        @post.save 
    end 
    
    private 
    def post_params 
        params.require(:post).permit(:title, :body) 
    end 
    

    Модель

    Метод на вновь созданный Post объект .save, в основном говорит модель поместить данные в вашу базу данных (или другое хранилище данных), которые затем можно вытащить позже (используя метод .find или аналогичный)

    #app/models/post.rb 
    Class Post < ActiveRecord::Base 
        #stuff here 
    end 
    

    Важно отметить ваши модели не магазина ваших данных, они просто предоставляют интерфейс (API, если вы будете), чтобы сохранить данные в какой-то хранилище данных (а именно, DB)

    Модели являются очень важными, потому что они позволяют вам структурировать & связаны вашими данными, создавая возможность развертывания по-настоящему глубокими & мощных приложений

     Смежные вопросы

    • Нет связанных вопросов^_^