I’m stuck in trying to get an embedded expression in ERB.
I’m trying to put @post into @httppost. However when I print @httppost I
get (notice the @post):
{“aps”: {“badge”: 1, “alert”, #{@post}}, “sound”: “cat.caf”,
“device_tokens”:
[“455ab1b23cbfd97b7d2ef90a49d222e40f4c6c9b2570e84ff94fe4afeea12345”]}
It should say:
{“aps”: {“badge”: 1, “alert”, “This is a test”}, “sound”: “cat.caf”,
“device_tokens”:
[“455ab1b23cbfd97b7d2ef90a49d222e40f4c6c9b2570e84ff94fe4afeea12345”]}
I put everything in my view to make it easier to troubleshoot:
<% @post = params[:post] %>
post params: <%= @post %>
<% @httppost = ‘{“aps”: {“badge”: 1, “alert”, “#{@post}”}, “sound”:
“cat.caf”, “device_tokens”:
[“455ab1b23cbfd97b7d2ef90a49d222e40f4c6c9b2570e84ff94fe4afeea12345”]}’
%>
<%= @httppost %>
You can see the enclosed screen capture to see what my results are.
Thanks in advance.
On Mar 4, 2010, at 4:27 PM, Allan L. wrote:
It should say:
post params: <%= @post %>
<% @httppost = ‘{“aps”: {“badge”: 1, “alert”, “#{@post}”}, “sound”:
“cat.caf”, “device_tokens”:
[“455ab1b23cbfd97b7d2ef90a49d222e40f4c6c9b2570e84ff94fe4afeea12345”]}’
%>
You’ve got it wrapped in single quotes… which won’t interpolate.
You want double quotes… or in your case since you’ve got a lot of
double quotes you probably don’t want to escape… use the %Q method…
<% @httppost = %Q!{“aps”: {“badge”: 1, “alert”, “#{@post}”}, “sound”:
“cat.caf”, “device_tokens”:
[“455ab1b23cbfd97b7d2ef90a49d222e40f4c6c9b2570e84ff94fe4afeea12345”]}!
The ‘!’ can be whatever you want (I think) so pick something that
isn’t in your string. If it’s paired (ie %Q{…}) use the opening/
closing keys.
-philip
Philip,
Thanks a lot! This really helped me!
-A
Philip H. wrote:
On Mar 4, 2010, at 4:27 PM, Allan L. wrote:
It should say:
post params: <%= @post %>
<% @httppost = ‘{“aps”: {“badge”: 1, “alert”, “#{@post}”}, “sound”:
“cat.caf”, “device_tokens”:
[“455ab1b23cbfd97b7d2ef90a49d222e40f4c6c9b2570e84ff94fe4afeea12345”]}’
%>
You’ve got it wrapped in single quotes… which won’t interpolate.
You want double quotes… or in your case since you’ve got a lot of
double quotes you probably don’t want to escape… use the %Q method…
<% @httppost = %Q!{“aps”: {“badge”: 1, “alert”, “#{@post}”}, “sound”:
“cat.caf”, “device_tokens”:
[“455ab1b23cbfd97b7d2ef90a49d222e40f4c6c9b2570e84ff94fe4afeea12345”]}!
The ‘!’ can be whatever you want (I think) so pick something that
isn’t in your string. If it’s paired (ie %Q{…}) use the opening/
closing keys.
-philip