Ruby On Rails: доступ к переменной из формы, без сохранения ее в базе данных - PullRequest
0 голосов
/ 27 июня 2010

У меня есть 3 страницы:

[Страница 1] Индекс

[Страница 2] Пользователь вводит значение в форму.

[Page 3] Выполните расчет введенного значения и выведите его на этой странице.

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

Спасибо =)

* Добавлена ​​информация 20100628 на основе отзывов.Спасибо!*

для PHP, я мог бы использовать функции $ _GET и% _POST.Я не уверен, как это сделать на ROR.[Страница 1: index.html]

Сумма в банке: Процентная ставка (%):

[Страница 2: Interest_cal.php] Через 10 лет общая сумма в вашем банке будет _______

Ответы [ 6 ]

2 голосов
/ 27 июня 2010

добро пожаловать в stackoverflow.Это веб-сайт QA для программирования, поэтому было бы неплохо увидеть код, чтобы более четко увидеть, что Вы хотите.Но я думаю, что вы хотите, это модель без таблицы.Есть два хороших скринкаста railscasts :

  1. Tableless Model (Rails 2)
  2. Active Model (Рельсы 3)
0 голосов
/ 28 июня 2010

Если у вас нет модели, а просто переменная, я бы предпочел использовать form_tag вместо form_for

<%= form_tag :action => "your_page_3_action" $>
    <%= text_field_tag :some_var %>

Нечто подобное. И тогда вы можете получить: some_var через:

def your_page_3_action
  params[:some_var] # that's your input valut
0 голосов
/ 28 июня 2010

Попробуйте что-то вроде этого

Page1 -> index

Page2 ->

скажем, у вас есть модель с именем user, которая не унаследована от ActiveRecord, поэтому она будет выглядеть следующим образом

class User
  attr_accessor :my_value   
end

и у вас будет такая форма

<% form_for(@user) do |f| %>
  <p>
    <%= f.text_field :my_value %>
  </p>
  <p>
    <%= f.submit 'send value' %>
  </p>
<% end %>

** извините, мне пришлось удалить некоторые теги

и в вашей форме после действия (в контроллере) вы можете получить значение как

params[:user][:my_value]

надеюсь, это поможет

ура

Sameera

0 голосов
/ 28 июня 2010

Я не хочу сохранять данные в какой-либо базе данных.

просто не создавать никаких моделей.или если вы должны создать модель.создать модель без наследования из ActiveRecord :: Base

class UserModel 

, но не

class UserModel <  ActiveRecord::Base

для PHP, я мог бы использовать функции $ _GET и% _POST.

использование params переменная в контроллере

0 голосов
/ 28 июня 2010

если вы используете params[:field_name] в Rails, это похоже на $_REQUEST['field_name'] в PHP (за исключением params в Rails не включает куки, как $ _REQUEST)

0 голосов
/ 28 июня 2010

Просто объявите атрибут в вашей модели и используйте его.

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