webForumDet fria alternativet

Ruby on Rails, lägg till attribut

Webbutveckling

1 svar · 545 visningar · startad av Peeer

Medlem sedan mars 20025 907 inlägg
Frågan#1

Hej!
Är helt ny på ruby så jag behöver en spark i rätt riktning. Jag har en bunt med objekt som jag skapar en json-sträng av.

render :json => Group.find(:all).to_json

Resulterar i:
[{ 
	"obj1col1": "value1",
	"obj1col2": "value2", 
	"obj1col3": "value3"},

{	"obj2col1": "obj2value1",
	"obj2col2": "obj2value2",	
	"obj2col3": "obj2value3"}]

Nu vill jag lägga in en ny kolumn i json-strängen, så det blir

[{ 
	"obj1col1": "value1",
	"obj1col2": "value2", 
	"obj1col3": "value3",
	"gemensamCol": "gemensamValue"},

{	"obj2col1": "obj2value1",
	"obj2col2": "obj2value2",	
	"obj2col3": "obj2value3",
	"gemensamCol": "gemensamValue"}]

Någon som kan hjälpa mig? :)

/Per

Medlem sedan mars 20025 907 inlägg
#2

Genom att sätta :attr_accessor :gemensamCol i modellen och sen loopa lite så löste det sig

@groups = Group.find(:all)
@groups.each do |group|
  group.gemensamCol = "gemensamValue"
end

@groups.to_json(:methods => :gemensamCol)
258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)