<% for post in @posts %>
<%= link_to_remote “Edit”, :url => { :controller => “threads”, :action
=> :new_req }, :with => “‘description=#{post.description}’”
<% end %>
When I make a post with the form and enter a description like such:
Description text_area:
this is a description
that has linebreaks,
or… at least,
I have pressed enter
several times.
It can save fine when made with the form. But in my first code, when I
try to set params[:description] = post.description, it doesn’t work
properly. Not sure why. It only happens when I make a description and
hit enter one or more times (have linebreaks)…
Any help is much appreciated!
Thanks
On 2 Aug 2008, at 00:06, Justin To wrote:
<% for post in @posts %>
<%= link_to_remote “Edit”, :url => { :controller =>
“threads”, :action
=> :new_req }, :with => “‘description=#{post.description}’”
<% end %>
You don’t need to use :with for this. But apart from that, the problem
is that you’re not escaping the description. The post I linked you to
the other day about the usage of the :with parameter covered both of
these things.
Fred
Frederick C. wrote:
On 2 Aug 2008, at 00:06, Justin To wrote:
<% for post in @posts %>
<%= link_to_remote “Edit”, :url => { :controller =>
“threads”, :action
=> :new_req }, :with => “‘description=#{post.description}’”
<% end %>
You don’t need to use :with for this. But apart from that, the problem
is that you’re not escaping the description. The post I linked you to
the other day about the usage of the :with parameter covered both of
these things.
Fred
The encodeURIComponent doesn’t seem to make a difference.
Mmm… a user fills out the textarea with a form_for (for a model
object). When I do <% for post in @posts %> <%= post.description %> It
doesn’t show the linebreaks that I entered. So if I enter (into the
textarea):
dsfksdf (enter)
sdfsdf (enter)
sfdsdf
I guess it doesn’t save it in the first place because with <%=
post.description %> I get dskfsdf sdfsdf sfdsdf. But I can’t even send
that as a parameter to populate a form.
Any suggestions would be greatly appreciated!
Mmm… a user fills out the textarea with a form_for (for a model
object). When I do <% for post in @posts %> <%= post.description %> It
doesn’t show the linebreaks that I entered. So if I enter (into the
textarea):
dsfksdf (enter)
sdfsdf (enter)
sfdsdf
I guess it doesn’t save it in the first place because with <%=
post.description %> I get dskfsdf sdfsdf sfdsdf.
Ah, I misunderstood what wasn’t working. HTML ignores linebreaks so
what you’re seeing is normal. you either need to be inserting your own
or
tags or wrapping your text in
tags. The
simple_format helper will do the former for you.
Fred
Hey Fred, I’m still having some problems =\
In my first post:
<% for post in @posts %>
<%= link_to_remote “Edit”, :url => { :controller => “threads”, :action
=> :new_req }, :with => “‘description=#{post.description}’”
<% end %>
- You said I didn’t need to use :with. How would I access the
post.description otherwise?
- I used the simple_format helper, so it displays correctly now, but
- Still having trouble calling my ‘new_requirement’ action to edit,
with:
view:
<% for post in @posts %>
<%= link_to_remote “Edit”, :url => { :controller => “threads”,
:action => :new_req }, :with=>"‘req_id=#{post.requirement_id}’ + ‘&’ +
‘title=#{post.title}’ + ‘&’ + ‘description=’ +
‘#{simple_format(post.description)}’ + ‘&’ +
‘justification=#{post.justification}’ + ‘&’ + ‘tags=#{post.tags}’",
:class=>“edit” %>
<% end %>
controller:
def new_requirement
@post = Post.new
respond_to do |format|
format.html { redirect_to_index}
format.js
end
end
rjs
page.replace_html :control, :partial => ‘new_req’
page[:control].visual_effect :slide_down
partial:
<% form_for :post, :url => { :action => :save_requirement } do |form| %>
<%= form.text_area :description, :value => params[:description], :class
=> “textarea” %>
<% end %>
Thanks for helping me out!
On 4 Aug 2008, at 17:42, Justin To wrote:
<% end %>
-
You said I didn’t need to use :with. How would I access the
post.description otherwise?
stick it in the :url hash.
-
I used the simple_format helper, so it displays correctly now, but
-
Still having trouble calling my ‘new_requirement’ action to edit,
with:
I’m not entirely sure what you’re doing here. You’re passing a bunch
of parameters to this action but then you’re not using any of them.
And why pass all those parameters when you could just as easily pass
the post id ?
Fred
controller:
def new_requirement
@post = Post.new
is there any way to simulate, like in Ruby,
p post.description
so i can see all the goodies?
Thanks
Never mind. Finally, I figured it out. I think passing the post_id
instead of all the params made the difference.
Thanks for all the continued help Fred!!!
Alright, I passed the post_id instead:
<%= link_to_remote “Edit”, :url => { :controller => “threads”, :action
=> :new_req }, :with=>"‘post_id=#{post.id}’" %>
I’m using the params[:post_id] in the view that the action :new_req is
displaying, to populate my form fields.
<% post = Post.find_by_id params[:post_id] if params[:post_id] %>
…
Title:<%= form.text_field :title, :value => “”||post.title, :id=>“title”
%>
…
Thanks again