11 / 11 / 1
Регистрация: 14.07.2014
Сообщений: 186
1

Ruby передача переменной другому методу

15.07.2016, 14:05. Показов 1669. Ответов 2
Метки нет (Все метки)

Есть такая задача в ruby on rails..

есть класс
[RUBY]
def selectsm
@resonator = Resonator.find(params[:id])
end

и есть
Ruby
1
2
3
def applysm
  @resonator.update(name: 'n')
end
как познакомить applysm с переменной @resonator??

Добавлено через 5 часов 6 минут
разобрался - публичная переменная $name..
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2016, 14:05
Ответы с готовыми решениями:

Передача переменной из 1 файла другому
Доброго времени стурок, отзывчивые форумчане. Прошу помочь мне в моем нелегком для чайника деле)...

Передача переменной из цикла другому классу
Есть цикл, каждое новое значение переменной нужно передавать в метод др. класса. Никак не пойму как...

Передача вычисленной в методе Button переменной методу Timer
Здравствуйте. Пользователь выбирает при нажатии кнопки файл записи данных. В результате я получаю...

Обратиться к другому классу и методу несколько раз
Всем привет. Подскажите пожалуйста, как правильно поступить с такой задачей. В результате...

2
Эксперт С++
5820 / 3472 / 357
Регистрация: 08.02.2010
Сообщений: 7,448
15.07.2016, 18:17 2
Цитата Сообщение от olegjan Посмотреть сообщение
как познакомить applysm с переменной @resonator??
Цитата Сообщение от olegjan Посмотреть сообщение
разобрался - публичная переменная $name..
Литература по Ruby и Ruby-on-Rails
0
the hardway first
Эксперт JS
2213 / 1653 / 827
Регистрация: 05.06.2015
Сообщений: 3,355
17.07.2016, 20:09 3
Цитата Сообщение от olegjan Посмотреть сообщение
публичная переменная $name
Глобальная. И пока один пользователь тупит выбирая что ввести, заходит другой и переопределяет эту переменную. Удачи в отладке :-)

Rails фреймфорк для быстрого создания вэб-приложений. А это значит, что придется придерживаться REST.
Так как REST это акроним для REpresentational State Transfer, отсутствие состояний является важной чертой. Таким образом, это значит, что необходимое состояние для обработки запроса содержится в самом запросе, либо в рамках URI, параметрах строки запроса, тела или заголовках. URI уникально идентифицирует ресурс и тело содержит состояние (или изменение состояния) этого ресурса. Затем, после того, как сервер завершит обработку, состояние или его часть(и) отдается обратно клиенту через заголовки, статус и тело ответа.
Вам точно надо пересмотреть архитектуру своего приложения.

Добавлено через 20 минут
Для примера вот вам небольшой пример например:
Кликните здесь для просмотра всего текста
Bash
1
2
3
4
5
6
7
8
9
$ ruby -v
ruby 2.2.4p230 (2015-12-16 revision 53155) [x64-mingw32]
$ rails -v
Rails 5.0.0
$ rails new test_app -T
...
$ rails g model one name
$ rails g model two name
$ rails g migration add_two_to_one two:references
db/seeds.rb
Rails
1
2
3
4
10.times do
  One.create!(name: "One: #{Faker::Name.name}")
  Two.create!(name: "Two: #{Faker::Name.name}")
end
Bash
1
2
$ rake db:migrate
$ rake db:seed
app/models/one.rb
Rails
1
2
3
4
class One < ApplicationRecord
  belongs_to :two
  delegate :name, to: :two, prefix: true
end
app/models/two.rb
Rails
1
2
3
class Two < ApplicationRecord
  scope :for_select, -> { select(:id, :name) }
end
config/routes.rb
Rails
1
2
3
4
Rails.application.routes.draw do
  root 'ones#index'
  resources :ones
end
Bash
1
$ rails g controller ones
app/controllers/ones_controller.rb
Rails
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class OnesController < ApplicationController
  before_action :set_one, only: [:show, :update]
 
  def index
    @ones = One.all
  end
 
  def show
    @twos_for_select = Two.for_select
  end
 
  def update
    @one.update_attributes(one_params)
    redirect_to @one
  end
 
  private
 
  def set_one
    @one = One.find(params[:id])
  end
 
  def one_params
    params.require(:one).permit(:two_id)
  end
end
app/views/ones/index.html.erb
Rails
1
2
3
4
<h1>Ones</h1>
<table>
  <%= render @ones %>
</table>
app/views/ones/_one.html.erb
Rails
1
2
3
4
5
<tr>
  <td>
    <%= link_to one.name, one %>
  </td>
</tr>
app/views/ones/show.html.erb
Rails
1
2
3
4
5
6
7
8
9
10
<h1>
  <%= @one.name %>
  <small>
    <%= @one.two_name if @one.two %>
  </small>
  <%= form_for @one do |f| %>
    <%= f.collection_select(:two_id, @twos_for_select, :id, :name) %>
    <%= f.submit %>
  <% end %>
</h1>
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2016, 20:09

Можно ли в java каким либо образом передать часть кода другому методу?
Распишу проблему мне нужно решить САЛУ, в которой коэффициенты при переменных - это определённый...

Передача объектов методу
Объясните, пожалуйста почему не компилируется код? using System; class Test { int a; ...

Передача параметров методу
Добрый день! Возник вопрос: выполняется метод, на вход поступают необходимые аргументы, метод...

Передача аргумента методу
Почему, если не указывать модификатор ref, то при передаче методу ссылки на строку и присвоении...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.