タグ

2013年6月20日のブックマーク (2件)

  • railsのform_forに渡すモデルオブジェクトでurl生成する場合の話

    railsのform_forヘルパーは以下のように使いますよね = form_for(@post) do |f| = f.label :title = f.text_field :title こう書いておけば出力されるhtmlは Title 大体こんな感じになるかと。 でrailsの便利なところはform_forに渡してるモデルオブジェクトが、空なのかDBのレコードから生成されたのかを判別して、actionの属性値をよしなに変更してくれるところですよね。 つまりroutesに resouces :posts do end と書いてあれば 新規作成時は action="/posts" だし編集画面では action="/posts/1" になると。 でもこれが namespace 付きのroutesだとうまく行かなくて困りました。 管理画面を作る場合とかだと /admin/posts にした

  • Rails – Deviseのコントローラをカスタマイズする方法 | 株式会社田村倉庫

    Railsの認証エンジン「Devise」のコントローラをカスタマイズする方法を紹介します。 コントローラファイルの作成 Deviseをインストールしてもそのコントローラは生成されません。Deviseが内部的に持っているコントローラが使用されます。そのため、Deviseのコントローラの挙動を変えたい場合は、そのDeviseのコントローラクラスを継承した独自のコントローラを作成する必要があります。 認証用のモデルを「User」という名前にした場合、app/controllers/usersディレクトリ配下にsessions_controller.rbとregistrations_controller.rbという2つのコントローラファイルを作成します。前者はユーザのログイン/ログアウト機能のコントローラで、後者はユーザ登録機能のコントローラになります。それぞれソースコードは以下のようにします。

    Rails – Deviseのコントローラをカスタマイズする方法 | 株式会社田村倉庫