
Nick
09.08.2016
06:04:01
Едет кто http://euruko2016.org/ ?

Amir
09.08.2016
06:23:24
первое
почему именно первое , bootstrap-sass
помоему второй имеет еще и хелперы

ojab
09.08.2016
06:24:00
bootstrap-sass — ванильный от создателей бутстрапа
twitter-bootstrap-sass — что=то неофициальное

Google

Amir
09.08.2016
06:25:02

Vitaly
09.08.2016
06:25:58
попробуй
https://github.com/decioferreira/bootstrap-generators
может то что нужно

Ivan
09.08.2016
06:27:46
А зачем тебе хелперы? Тем более что они такие себе. Ну и оф. репозиторий обновлялся 2 недели назад, а тот другой - три месяца
Такие хелперы это лишнее усложнение того, что и так делается просто. имхо

Evgeny
09.08.2016
06:29:40
Там же в основном классы, а классы мы пишем в хэлперы рельсов link_to .... class: "bootstrap-class"

Amir
09.08.2016
06:34:22
ладно уговорили буду юзать bootstrap-sass
чет не пойму как сделать вычисляемое поле в модели
cnt_turnout / cnt_voters * 100
не пашет
public
def percent_turnout
cnt_turnout / cnt_voters * 100
end

Иван
09.08.2016
07:56:12
а методу переменные не забыл передать?

Amir
09.08.2016
07:56:40
зачем если они в самой записи есть уже

Google

Amir
09.08.2016
07:57:10
хотел как в яве в сущностях сделать

ojab
09.08.2016
07:58:04

I
09.08.2016
07:58:15
используйте декораторы
вычисляемые поля в моделях - ну, не очень красиво

ojab
09.08.2016
07:59:39
вообще в пятёрке для этого есть http://api.rubyonrails.org/classes/ActiveRecord/Attributes/ClassMethods.html#method-i-attribute
так что таки да, не очень красиво
но должно работать

Amir
09.08.2016
08:00:19
примерно так в яве
@Entity
class MyTable {
private cnt_value1: integer;
private cnt_value2: integer;
public getName () {
return this.name;
}
public getValue12() {
return this.cnt_value1 * this.cnt_value2;
}
}

I
09.08.2016
08:00:53
кстати, а в def percent_turnout
cnt_turnout / cnt_voters * 100
end
случаем не округление имеет место?))

Amir
09.08.2016
08:00:53
при этом value12 не должен отображаться в базе

I
09.08.2016
08:01:17
cnt_turnout и cnt_voters Integer?

Amir
09.08.2016
08:01:23
ага
он вообще эти cnt_* не видит, они NIL

I
09.08.2016
08:02:11
а как они объявлены???

ojab
09.08.2016
08:02:16
модель не сохранена ещё?
self.cnt_turnout тоже nil?

Amir
09.08.2016
08:03:15
сохранен
все поля выводятся в таблице норм в вьюхе
<td>
<%= row.cnt_turnout %> (<%=row.percent_turnout%> %)
</td>
и вот таким не хитрым способом хотел показать процент
да фигушки :)

Google

Amir
09.08.2016
08:04:42
не хочу вычисления делать прямо в самой вьюъе

ojab
09.08.2016
08:04:54
row.class?

Amir
09.08.2016
08:05:52
ага выглядит как @qwe = Myclass.all
@qwe.each do |row| %>

ojab
09.08.2016
08:07:08
а как ты узнал что cnt_* у тебя тут nil?

Amir
09.08.2016
08:08:59
интепретатор
undefined method `/' for nil:NilClass
или я не правильно деление делаю

ojab
09.08.2016
08:11:11
так, а как ты тогда узнал что cnt_turnout во вьюхе не nil?
у тебя точно во всех строках оно есть?

Amir
09.08.2016
08:11:23
выводиться число
ага

Amir
09.08.2016
08:12:37
во всех строках число. даже 0 нет
def percent_turnout
@cnt_turnout / @cnt_voters * 100
end
так тоже не пашет

ojab
09.08.2016
08:13:31
mkay, а если добавить во вьюху <% p row %> перед percent_turnout — что в консоли последнее появляется перед бектрейсом? И что происходит если в рельсоконсоли сделать Row.find(xx).percent_turnout?

Amir
09.08.2016
08:16:13
def percent_turnout
return cnt_turnout #/ cnt_voters * 100
end
если так сделать то норм, выводиться число хмм
походу return надо делать обязательно

Иван
09.08.2016
08:18:43
нет

Google

Amir
09.08.2016
08:19:00
без него ругается что значение Nil
да чтоб ......
теперь не ругается на nil
:D

I
09.08.2016
08:20:54
cnt_turnout.to_f/cnt_voters.to_f * 100.0 лучше бы так

Amir
09.08.2016
08:21:55
теперь выводит 0 везде
думаю изза того что обе числа целые и он округляет
ща

Иван
09.08.2016
08:22:14
а как ты во вьюхе то вызваешь этот метод?

ojab
09.08.2016
08:22:48
<td>
<%= row.cnt_turnout %> (<%=row.percent_turnout%> %)
</td>
и вот таким не хитрым способом хотел показать процент

Amir
09.08.2016
08:23:05

Admin
ERROR: S client not available

I
09.08.2016
08:23:40
to_f чем не канает?

Иван
09.08.2016
08:23:48
так нельзя же прям из вьюхи вызвать метод класса

Amir
09.08.2016
08:23:48
хмм :)

ojab
09.08.2016
08:24:01

Иван
09.08.2016
08:24:11
разве можно?

I
09.08.2016
08:24:45
да вообще все можно, зависит от того, есть кому бить за это или нет)

Amir
09.08.2016
08:25:32
вы че?!
мне везде в программе предлагаете вычислять такие значения чтоли? :)

Иван
09.08.2016
08:25:54
я почему то думал что во вьюхах только хелперы можно нормально использовать

ojab
09.08.2016
08:26:51
объекты они и во вьюхе объекты

I
09.08.2016
08:28:03

Google

I
09.08.2016
08:28:14
и он будет сам вычислять единоразово:-)

Amir
09.08.2016
08:32:43
Изврат или нормально можно было сделать, просто?
<%= row.cnt_turnout %> (<%= number_with_precision(row.percent_turnout, :precision => 2) %> %)

I
09.08.2016
08:33:48
%) %) %)

Иван
09.08.2016
08:45:16
объекты они и во вьюхе объекты
Да, действительно. Просто при знакомстве с рельсой отчетливо помню случай, где почему то не мог вызвать метод экземпляра класса на объекте во вьюхе. Видимо просто делал что то криво, а неправильный вывод про хелперы из-за этой ситуации так остался.

Amir
09.08.2016
08:48:34
public надо сделать
по умолчанию приват
кажеться

ojab
09.08.2016
08:50:14
по умолчанию public

I
09.08.2016
08:50:17
о_О

Amir
09.08.2016
08:52:16
да ладно

I
09.08.2016
08:53:24
не верите - проверьте

[Anonymous]
09.08.2016
08:53:55
паблик

Amir
09.08.2016
08:54:11
или это в контролллерах было хмм

ojab
09.08.2016
08:55:13
в контроллерах тоже public
так что если ты где-то написал private — все методы после будут private
(до следующего public/protected/whatever, само собой)
А как проще всего узнать класс аттрибута модели после type cast'a?
то бишь если аттрибут String, а в базе NULL, хотелось бы получить String

I
09.08.2016
09:10:31
instance_values['attribute_types'] - вот отсюда брал
column = prototype.instance_values["attribute_types"][method_name.to_s]
column.cast(val)
это из базы