LINUX.ORG.RU

Сообщения psp13

 

Rails: решение проблемы «unique username»

Форум — Web-development

Известно что validates_unique_of не учитывает race conditions о чём сказано в документации. Там же рекомендуется использовать UNIQUE в DB при котором в случае дублирования поля будет InvalidStatement exception. Однако хотелось бы поймать его внутри model и добавить соответствующее сообщение errors.add(:username, «Username already in use») так же внутри model. Естественно напрашивается вариант override save, save! типа:

def save
super
rescue
errors.add(:username, "Username already in use")
end

Но выглядит не красиво, как хак. Может есть получше способ?

psp13
()

RoR + MySQL: BigInt Primary Key

Форум — Web-development

Хотелось бы найти какое то красивое решение для этого. В гугле нашёл много всего но выглядит как хак. Кроме того вот эта статья напрягает: http://www.ruby-forum.com/topic/180746

psp13
()

Вопрос по facebook share

Форум — Web-development

Нужно сделать facebook share button. Нашёл такой код (http://www.terabug.com/publish-site-content-to-facebook-wall-publish-wall-pos...):

<div id="fb-root"></div>
<script src="https://connect.facebook.net/en_US/all.js#appId=<?php techo($facebook_info['app_id']); ?>&xfbml=1"></script>
<script>
window.fbAsyncInit = function() {
  FB.init({appId: "<?php techo($facebook_info['app_id']); ?>", status: true, cookie: true, xfbml: true});
};

function streamPublish(a_name, a_caption, a_desc, a_img, a_url) {
  FB.ui(
    {
      method: 'stream.publish',
      display: 'dialog',
      message: 'getting educated about Facebook Connect',
      attachment: {
        name: a_name,
        caption: a_caption,
        description: (
          a_desc
        ),
        media: [{
          'type': 'image',
          'src': a_img,
        }],
        href: a_url
      },
      action_links: [{
        text: 'Code',
        href: a_url
      }],
      user_message_prompt: 'Share your thoughts about Connect'
    },
    function (response) {
      if (response && response.post_id) {
        alert('Post was published.');
      } else {
        alert('Post was not published.');
      }
    }
  );
}
</script>

Всё работает за единственным исключением: картинка не появляется. Подскажите знающие люди в чём дело.

psp13
()

CakePHP: параметр из URL содержащий %26

Форум — Web-development

Имеем такой код:

class UsersController extends AppController {
  /* ........ */

  function welcome($name = null) {
    echo $name; exit;
  }

  /* ........ */
}

CakePHP 1.3

Если URL такое: http://domain/path/users/welcome/Dylon печатает 'Dylon'. И если такое: http://domain/path/users/welcome/Dylon&Dylon тоже печатает 'Dylon' хотя по идее должно бы печатать 'Dylon&Dylon'. В чём проблема? Как решить?

psp13
()

Идея по поводу переключения между окнами

Форум — Desktop

Во всех известных DE переключение между открытыми на текущем столе окнами через Alt+Tab. Мне кажется это не удобно нажимать по несколько раз эти кнопки когда надо быстренько переключиться. Было бы намного удобнее сделать как в gedit Alt+1 => первое окно, Alt+2 => второе окно, и т.д. Но так как это уже испольузется в gedit, можно ли как то в конфиги гнома включить что бы к примеру Meta4+1, Meta4+2,...etc.

psp13
()

система виснет примерно раз в сутки, думаю диск

Форум — Linux-hardware

Имеется жёсткий диск 2Tb WesternDigital WD20EARS Caviar Green, SATA II <IntelliPower, 64Mb>. Как раз после его установки начались такие проблемы: система виснет примерно раз в сутки. Всё зависает, указатель мыши не двигается, клавиатура не действует, экран остаётся либо так как и было, либо на нём появляются какие то полосы. Так вот, почитал не очень хорошие отзывы о таких дисках, якобы они паркуют считывающие головки каждые 8 секунд и вообще ненадёжны всвязи с этим. Однако нашёл описание как загрузившись со специального диска эти функции отключить. Так же был совет установить джампер ограничивающий скорость шины до 1.5G/s. Не знаю как лучше поступить, и безопасно ли вообще хранить данные на таком диске. Ещё после зависания в логах пишется что то по поводу отсутствия в ядре поддержки для APM модуля какого то. Но мне это энергосбережение на стационарном компьютере нафиг ненужно, считаю что оно уместно только на портативных компьютерах или на компьютерах каких-нибудь старушек у которых буйное помешательство съэкономить 5 копеек за свет. В общем, кто сталкивался? Как решили вопрос?

psp13
()

Imagemagick help

Форум — Development

Вызываю `convert` из PHP скрипта:

`convert $img +dither -colors 2 -colorspace gray -normalize tmp/tmp.png`;

В результате приходится создавать временный файл. Может кто подскажет как реализовать то же самое с помощью http://us2.php.net/manual/en/book.imagick.php

psp13
()

Сохранение версий таблицы DB при всех изменениях

Форум — Development

Есть очень важная таблица в DB, хотелось бы при каждом внесении в её изменений записывать что поменялось, от какого значения к какому, что бы потому по этим логам можно было откатить таблицу назад. Есть ли какая трёхбуквенная аббревиатура для этого или придётся всё делать в ручную?

psp13
()

Вопрос по routing в Rails

Форум — Web-development

Изучаю rails. Пытаюсь написать админилку, причём объединить все её ф-ции в один модуль, т.е.:

ruby script/generate scaffold Admin::Category title:string description:text

Хочу что бы админ мог управлять категориями продуктов к примеру. В результате модел создаётся с названием admin_categories, но хотелось бы что бы она называлась просто categories, конечно. Всё удаляю, делаю так:

ruby script/generate model category title:string description:text

ruby script/generate controller Admin::Categories

После этого копирую controllers/categories_controller.rb в controllers/admin/categories_controller.rb, копирую все views в соответствующий каталог, изменяю вещи типа new_category_path на new_admin_category_path, добавляю в config/routes.db:

map.namespace :admin |admin| admin.resources :categories end

вместо man.resources :categories

После этого на строчке содержащей form_for(@category) в new.html.erb получаю exception 'NoMethodError'. Подскажите как правильно сделать то что я хочу? В чём тут проблема?

psp13
()

RSS подписка на новые темы