Slides for Rails Pacific 2014 talk "Render It!: A Deep Dive into ActionView and Template Engines" http://railspacific.com/
Action View Text Helpers The TextHelper module provides a set of methods for filtering, formatting and transforming strings, which can reduce the amount of inline Ruby code in your views. These helper methods extend Action View making them callable within your template files. Sanitization Most text helpers that generate HTML output sanitize the given input by default, but do not escape it. This me
バッチで生成しておきたいとかそういうときに。 class FooController < AbstractController::Base include AbstractController::Rendering include AbstractController::Translation include AbstractController::AssetPaths include ActionView::Layouts self.view_paths = "app/views" def index render template: "foo/index.html.slim" end end puts FooController.new.index # => レンダリングされた文字列 もうちょっとActionView側を触るのかと思いきや、パッと調べた感じだとAbstractContr
Posted on 2011-12-27 Render views and partials outside controllers in Rails 3 Using Rails 3 rendering from plain old Ruby objects. You probably heard that rendering views outside controllers is pure evil. That’s true, but there are cases where it is very handy to render partials or views defined in your Rails application in different places. Think about generating newsletter templates and saving t
例えばモデル的にGraph has_many Entityだけど、GraphはActiveRecordを使う一方でEntityには素のオブジェクトを使いたい場合。データストアが異なるとか。 class Graph < ActiveRecord::Base after_save :save_entities def entities @entities ||= [] # TODO: entitiesを読み込む end def entities_attributes=(attributes) # attributes = { "0" => { "name" => "foo", "body" => "bar" }, ... } @entities = attributes.map do |i, (attrs)| Entity.new(attrs) end end private def save
Never miss an updateSubscribe Build forms with FormBuilder Forms are pretty much the heart of the web. Almost everything a user inputs is done through a form. So, when building forms in rails, you want to make the experience as easy for you as possible. I know there's gems out there that tries to make your life easier to build forms (formtastic, simple_form, etc.) but did you know about ActionView
複数の関連を跨いでaccepts_nested_attributes_forを使う場合の話。 たとえば Organization has_many Groups Group has_many Employees というモデルに対して、1度にまとめてこれらのレコードを作成したい場合には次のようにする。 まずはクラスの定義: class Organization has_many :groups, inverse_of: :organization accepts_nested_attributes_for :groups # attributes: # name:string end class Group belongs_to :organization, inverse_of: :groups has_many :employees, inverse_of: :group accepts
ActionView::Helpers::FormBuilder#form_for(record, options = {}, &block)では:asオプションを指定することで各種フィールドのname属性に付けられるprefixを指定できる。 たとえば@person = Person.newに対して、デフォルトだと = form_for @person do |f| = f.text_field :name とすれば、 <form> <input type="text" name="person[name]" value="" /> </form> みたいなフォームが生成され、このpersonはインスタンスのクラス名から決定されている。 このperson[name]のpersonの部分を指定するには次のように:asオプションを指定すればよい。つまり、 = form_for @person
@todesking氏のRails、レンダリングされたHTMLのどこがどのpartialから来たのかをコメントとして埋めるが良かったので、完全にパクって、改良して相対パス名表示するようにして、config/initializers/以下に置いたら開発環境でのみ働くようにしてみた。ここのテキストちょっと弄りたいけどどのファイルに書いてあるの...みたいなケース多いので、ChromeのInspectorとかで見たらHTMLコメントでファイル名分かって便利。render layout: "wrapper" do ... という風にrenderを呼んだときに上手くパス名を取得する方法が分からないので、どなたかよろしくお願いします。 @miyagawa gemified :) http://t.co/A3LSJFC1— r7kamura (@r7kamura) December 4, 2012 ht
hoge has many fugasという関連があるとして、既存のfugaがあり、そこに新規でfugaを追加したいとする。 この場合、次の点を解決する必要がある。 配列風パラメータ名のインデックスを空にしておく (A) 既存のものにはidを送ってあげる (B) 厄介なのはdate_selectで、これはselectタグ個々にパラメータ名を設定することはできない。 ではどうやって(A)を実現するかというと、fields_forにindex: nilというオプションを渡しておく。こうすることでprefixオプションのあとに[][date(1i)]などが付加されるようになる。 - @fugas = [@hoge.fugas, Fuga.new].flatten = form_for @hoge do |f| %ul - @fugas.each do |fuga| %li = f.fields_
We are constantly looking for ways to make our products faster so recently we spent some time optimizing UI graphics in Basecamp. With better support for CSS3 properties in the latest browsers and solid techniques for progressive enhancement, we began by eliminating some graphics altogether. We found that subtle gradients and drop shadows can be completely rendered with CSS properties and many tim
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
ActionViewのdistance_of_time_in_words_to_nowを使います。 i18nにも対応しているのが嬉しいです。 任意の時間からの差分を求めたい場合はdistance_of_time_in_words_toを使うといいと思います。distance_of_time_in_words_to_nowはdistance_of_time_in_words_toのエイリアスです。 記事の更新日を表示する %p= "#{distance_of_time_in_words_to_now(article.updated_at)}前に更新" ヘルパにして呼び出す # app/views/articles/_article.html.haml = distance_of_time_in_record_to_now(user_document) # /app/helpers/appli
2011年06月22日11:11 Ruby そろそろRailsのselectメソッドについて一言いっとくか いや〜 前回の記事 もそうなんですけど、最近は Rails であれやこれや作ることが多くて、フォームとかも作ったりするわけです。そうなるとたま〜にプルダウンなんかも扱うことになったりします。 テキストフォームとかラジオボタン、まぁチェックボックスぐらいまでは(慣れたので) Rails のヘルパーを使ってさらさらっとかけて良いんですが、たまに使うプルダウンはハマることが多い。ちょいちょい使い方よくわからなくてググるんですが、なかなか良い情報に遭遇できなくて結局ソースを見て解決する、というパターンが多いわけです。・・というのが時間の無駄なので、簡単にですがまとめときます>< select メソッドの定義はこんな感じになっています。 # actionpack-3.0.7/lib/actio
kennylovrin Coach Class From: Sweden Registered: 2008-01-11 Posts: 61 Website Multiple models in for with :has_many, :through relationship Hey I have been searching for answers to this questions for hours now, and I just can't find what I'm doing wrong here.. The basic thing I want to do is to assign "tracks" to an "album" in the same form, and they are connected via "album_associations". I've bee
Well I cocked this one up in a lightning talk I attempted to give by mixing up methods in the powerpoint, so figured I owe it to post something that makes a little more sense.. Rails 2 So you’ve been working on Rails apps for a while, and like all good developers, you’ve been escaping any content rendered in your views that your application’s users might have entered, right? eg. like this: <%= h s
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く