Parameters

<% 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 %>

  1. You said I didn’t need to use :with. How would I access the
    post.description otherwise?
  2. I used the simple_format helper, so it displays correctly now, but
  3. 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 %>

  1. You said I didn’t need to use :with. How would I access the
    post.description otherwise?
    stick it in the :url hash.

  2. I used the simple_format helper, so it displays correctly now, but

  3. 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