@proRuby

Страница 119 из 1594
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
bootstrap-sass — ванильный от создателей бутстрапа
но он вроде только умеет подключать и все придеться самому писать, ни хелперов, ни генераторов

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
cnt_turnout / cnt_voters * 100 не пашет
что конкретно говорит?

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?

def percent_turnout @cnt_turnout / @cnt_voters * 100 end так тоже не пашет
так оно точно пахать не будет, ибо @cnt_turnout и @cnt_voters никто не заполняет и они nil

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
cnt_turnout.to_f/cnt_voters.to_f * 100.0 лучше бы так
так не канает вот так вроде пашет 1.0 * cnt_turnout / cnt_voters * 100

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
хмм :)

Иван
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
объекты они и во вьюхе объекты

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

public def percent_turnout cnt_turnout / cnt_voters * 100 end
btw это не декларация того, что метод public, это декларация того что после этого все методы будут public

так что если ты где-то написал private — все методы после будут private

(до следующего public/protected/whatever, само собой)

А как проще всего узнать класс аттрибута модели после type cast'a?

то бишь если аттрибут String, а в базе NULL, хотелось бы получить String

I
09.08.2016
09:10:31
А как проще всего узнать класс аттрибута модели после type cast'a?
я ковырялся по содержимому Класса, там были параметры того, как оно в базе хранится - по этим типам и кастил

instance_values['attribute_types'] - вот отсюда брал column = prototype.instance_values["attribute_types"][method_name.to_s] column.cast(val)

это из базы

Страница 119 из 1594