Рубин на рельсах и XML - PullRequest
       2

Рубин на рельсах и XML

0 голосов
/ 15 августа 2010

Я пытаюсь создать приложение ruby ​​on rails для сбора данных из формы и создания соответствующего XML. Я создал фиктивный класс модели, который не расширяет активную запись

Нужно ли мне это делать.Ниже приведен код и ошибка, с которой я сталкиваюсь, пожалуйста, помогите plz

  class RamOne
    attr_accessor :name,:city
   end

Контроллер

       def start
        @ramone = RamOne.new
                end

    def load_new
        @ramone = RamOne.new(params[:ramone])
        if @ramone.save
           redirect_to :action => ‘gen_xml’
        end
    end

    def gen_xml
            @xml = Builder::XmlMarkup.new
            @ramones = RamOne.find(:all)
            render :layout => false
    end

Просмотр захватывает имя, город и имеет действие отправки, прикрепленное с ошибкой load_new

: неверное количество аргументов (1 для 0) в load_new, что не так?

Ответы [ 3 ]

1 голос
/ 15 августа 2010

Вы не можете вызвать RamOne.new с аргументом, потому что ваш класс RamOne не переопределяет метод initialize.Кроме того, @ ramone.save и RamOne.find являются методами ActiveRecord, поэтому я думаю, что вам необходимо расширить ActiveRecord :: Base в вашем классе RamOne.

0 голосов
/ 15 августа 2010

Могу ли я избавиться от класса модели

и сохранить свои захваченные данные в обычном классе ruby ​​и извлечь их для создания XML. Есть ли какие-либо вспомогательные методы

, аналогичныеПомощник form_for ()

<% form_for :ramone, @ramone, :url => { :action => "load_new" }, :html => { :method => :get } do |f| %>

Могу ли я найти любые другие методы, отличные от ActiveRecordHelper

Мне не нужен класс Model без необходимости.

0 голосов
/ 15 августа 2010

Проверьте драгоценный камень Hpricot http://hpricot.com/, если вы используете какой-то сверхпрочный XML.

Проверьте REST для очистки вашего контроллера. http://guides.rubyonrails.org/routing.html#restful-routing-the-rails-default

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...