さまざまなコントローラーのさまざまなビューで、次のパーシャルを使用したいと思います。@person
現在のコントローラーのインスタンス変数を呼び出すだけの、より一般的な変数に置き換える方法はありますか?それが@person
or@user
またはorかどうかは関係ありません@company
か?
<% content_for(:timestamps) do %>
<p>Created: <%= l @person.created_at, :format => :long %>, Last updated: <%= l @person.updated_at, :format => :long %></p>
<% end %>
助けてくれてありがとう。
これは、Xavierのコードに基づく私のヘルパー関数です。
def timestamps
content_for(:timestamps) do
current_string = controller.controller_name.singularize
current_object = instance_variable_get("@#{current_string}")
created_at_time = l(current_object.created_at, :format => :long)
updated_at_time = l(current_object.updated_at, :format => :long)
text = "Created: #{created_at_time}, Last updated: #{updated_at_time}"
content_tag(:p, text)
end
end