Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby On Rails > Помогите новичку с организацией форм


Автор: oshaif 31.8.2009, 12:44
 smile 

Делаю приложение Rails. Обычный калькулятор. 
Создаю модель expression

001_create_expressions.rb:
Код

class CreateExpressions < ActiveRecord::Migration
  def self.up
    create_table :expressions do |t|
      t.integer :a
      t.integer :b
      t.integer :result

      t.timestamps
    end
  end

  def self.down
    drop_table :expressions
  end
end


Создаю контроллер calc, с пятью действиями:
Код

class CalcController < ApplicationController

    def index
    end

    def add

    end

    def sub
    end
    
    def mul
    end

    def div
    end
end


Создаю вид для Calc => Index
Код

<center>
    <br>
    Hellow! I'm Calc. What you want?:
    <br>
    <br>
    <% form_for :expression, @expression, :url => { :controller => 'calc', :action => 'add' } do |form| %>
        <%= form.text_field :a %>
        <%= form.text_field :b %>
        <%= submit_tag 'Add' %>
    <% end %>
</center>


Как их теперь получить и сосчитать в контроллере экшн? Подскажите, пожалуйста. Я ещё путаюсь в MVC.

Автор: shine 1.9.2009, 09:58
У тебя все перепуталось: MVC, Ruby, Rails, ...

Возьми и сделай для начала калькулятор консольный. То есть без форм, веба и так далее. Сделай так чтобы с помощью этого калькулятора можно было выполнять все действия которые тебе нужны. А вот когда это будет готово дописывай для всего этого веб-обертку.

Автор: godvinn 2.9.2009, 18:53
а зачем писать калькулятор на rails?, я себе представляю как пользоваться таким калькулятором, тем более что в твоем коде я даже намек пока на ajax не увидел. 
ruby и так считает все в консоли (irb).

Автор: GrayCardinal 3.9.2009, 11:37
Цитата

Делаю приложение Rails. Обычный калькулятор.

"Хочу велосипед на базе танка".

Автор: godvinn 3.9.2009, 13:44
GrayCardinal,  +1

Автор: Blake 5.9.2009, 14:04
Идея конечно не самая лучшая, чтобы понять, как работает MVC.
Но сделал бы уже разные баттоны для каждого действия. (хотя для новичка это тоже недуачный пример.)
Или добавь отдельное поле для действия, и в контроллере обрабатывай это всё одним методом.
Удачи в начинаниях!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)