простая форма калькулятора - PullRequest
1 голос
/ 26 июня 2011

Я хочу создать простую форму калькулятора в Rails 3.1 просто для понимания. Через форму я хочу получить число и умножить его на два (например).

Я создал контроллер с индексной страницей (/ index), затем сформировал в представлениях:

<%= form_for @result do |f|%>
<%= f.label :number, 'Number' %>:
<%= f.text_field :number %>
<%= submit_tag 'Submit' %>
<%end%>
<%=@result%>

Что мне нужно сделать с контроллером?

  def index
    @result = ''
  end
  def calculate
    @result = @number.to_i*2
  end

Ответы [ 2 ]

4 голосов
/ 26 июня 2011

Это не сработает.form_for используется для создания форм для моделей, расширяющих ActiveRecord.Вместо этого используйте form_tag('/calculate').

Вам нужно определить `match 'Calculate' => 'your_controller_name # Calculate' в config / rout.rb.

Кроме того, вам нужно представление для вашего расчетадействие - calculate.html.erb (вы можете назвать его по-другому, но вам нужно будет указать render 'view_name'.

В качестве альтернативы, если вы хотите использовать тот же файл представления, используйте render :action => :index

Забыл упомянуть. Для доступа к данным из формы вы используете params[:key] хеш. Так что в вашем случае это будет выглядеть как @result = params[:number] * 2

Эта книга является отличным местом для началас Rails.

Кроме того, эти скринкасты тоже очень полезны

2 голосов
/ 05 ноября 2013

В случае, если кто-то еще будет искать примеры калькулятора рельсов ... Я сам сделал это через некоторое время, собирая маленькие кусочки повсюду. Result - это приложение для калькулятора валют, которое получает свежие данные о валютных курсах из Интернета и позволяет конвертировать евро в желаемую валюту.

Ссылка на github для тех, кто, возможно, также является новичком и хочет знать, как реализовать калькулятор в рельсах: https://github.com/Veske/form Также ссылка на героку: http://harjutus.herokuapp.com

...