さまざまな便利な宝石に関するトピックの続きで、RoRでの作業をさらに快適で便利なものにするいくつかの機能についてお話したいと思います。
高電圧
thoughtbotの人々からの宝石。サイト上の静的なページでの作業を大幅に簡素化します。
gemは非常に簡単に動作します-必要なページを
app / views / pagesフォルダーに追加します。 その後、ページは
/ pages /(file_name)で利用可能になります。 したがって、たとえば、
app / views / pages / about.hamlにある
ページは
example.com/pages/aboutで利用でき
ます 。
さらに、gemは、目的のページを引数として渡す必要がある
page_path urlヘルパーを追加します。 上記の例では、これは
page_path(:about)になります。
Githubページ坤
多くの場合、RailsからJSにデータを転送する必要があります。 これにはいくつかの解決策があります。
たとえば、追加のajaxリクエストでそれらを個別にダウンロードできます。 データが多くなく、不要な呼び出しを行う意味がない場合、
gonはこのタスクに完全に対応します。これは、コントローラーから直接データを転送できる
国内メーカーの逸品です。
gemを機能させるには、まずレイアウトに追加します。
<html> <head> <title>Application Title</title> <%= include_gon %> …
次に、コントローラーで、
gonを使用してデータを転送します。
def show @user = User.find(params[:id]) gon.user = @user end
@userのデータがJSで利用可能になり、
gonオブジェクトを介してアクセスできます。 例:
$(function() { alert(gon.user); });
gemは自分用にカスタマイズすることができます-エクスポートされた変数の名前にsnake_caseの代わりにcamelCaseを使用し、名前空間を指定し、一般的な
JBuilderと
RABLと
友達になります。
Gon @ railscastsGithubページhttp_accept_language
Railsアプリケーションで複数の言語をサポートするタスクに直面している場合は、
http_accept_language gemに注意することをお勧めします。
要求オブジェクトにいくつかのメソッドを追加し、その助けを借りて、どのユーザーが優先言語であるかを簡単に判断できます。 たとえば、次のように:
class ApplicationController < ActionController::Base before_filter :set_locale protected def set_locale allowed_locales = %w(ru-RU en-US) I18n.locale = request.preferred_language_from(allowed_locales) || I18n.default_locale end end
Githubページemail_spec
メーラーの動作、送信先、送信先、送信された手紙に重要な情報(アクティベーションリンク、ユーザー名/パスワードなど)が含まれているかどうかを常に把握して
おくと、非常に便利です
。 database_cleaner gemの作者の
Cucumberを使用すると、メーラーを簡単にテストできます。
たとえば、アカウントを有効にするための手順が記載されたメールが正しいアドレスに送信され、正しいヘッダーがあり、有効化へのリンクが含まれていることを確認する必要があります。
email_specを使用すると
、次のようになります。
describe UserMailer do let(:user) { create(:user) } describe '#confirmation_instructions' subject { UserMailer.confirmation_instructions(user.id) } it 'should be set to be delivered to the user email address' do subject.should deliver_to(user.email)
Githubページheroku_san
Herokuを積極的に使用している場合は、間違いなくこのgemに注意を払う必要があります。
heroku_sanは、展開プロセスをさらに簡単かつ高速にします。
プロジェクトに複数のHerokuインスタンス(
プロダクションと
ステージング)が必要だとします。 これを行うには、gemをインストールした後、コンソールで呼び出します:
rake heroku:create_config
このコマンドは、このプロジェクトに関連するすべてのHerokuアプリケーションを記述する構成ファイル(
config / heroku.yml )を作成します。 たとえば、
実稼働環境と
ステージング環境の場合、次のようになります。
production: &defaults app: myfacebookkiller stack: cedar config: BUNDLE_WITHOUT: 'development:test' staging: <<: *defaults app: myfacebookkiller-staging
さて、これらのアプリケーションをHerokuで作成していない場合は、今すぐ実行してください。
rake all heroku:create
heroku_sanを使用すると、プロジェクトを一度に複数のアプリケーションにデプロイできます。
rake all deploy
または、特定のアプリケーション専用:
rake production deploy
heroku_sanは、Herokuでの作業に役立つ多くの
機能を提供します。詳細については、Githubのgithページを参照してください。
Githubページ