I have this bit of code in my email.controller
user = @current_user
story = @current_story
recipient = story.user
It doesn’t work because @current_story isn’t defined. How can I find the
current page to make this work?
I have this bit of code in my email.controller
user = @current_user
story = @current_story
recipient = story.user
It doesn’t work because @current_story isn’t defined. How can I find the
current page to make this work?
On 29 June 2010 11:00, Neil B. [email protected] wrote:
I have this bit of code in my email.controller
user = @current_user
story = @current_story
recipient = story.userIt doesn’t work because @current_story isn’t defined. How can I find the
current page to make this work?
You haven’t given anywhere enough detail for us to help you.
@current_story - what are you expecting this variable to contain?
Saying
“the current page” won’t help. Do you mean the current URL
(@request.request_uri)? The current Page object (in which case you must
have found the Page object using some code, assign that to
@current_story.
A variable from the session? @current_story = session[:current_story].
We need a lot more information to be able to help. @current_story is an
instance variable, but there’s no information on what you’re expecting
it to
magically contain.
Cheers,
Andy
Neil B. wrote:
Andy J. wrote:
On 29 June 2010 11:00, Neil B. [email protected] wrote:
I have this bit of code in my email.controller
user = @current_user
story = @current_story
recipient = story.userIt doesn’t work because @current_story isn’t defined. How can I find the
current page to make this work?
Neil
We need a lot more information to be able to help. @current_story is an
instance variable, but there’s no information on what you’re expecting
it to magically contain.Cheers,
Andy
The email is to be sent from a page containing a story and comments. I
want it to go to @story.user’s email. If I use story=
Story.find_by_id(2) it works but I want an expression to find the
current story not one specified.
Does that tell you enough? Do you want more files sent?
Neil
Does anybody know how to do this? I’ve googled loads and still can’t
work it out
Neil
Andy J. wrote:
On 29 June 2010 11:00, Neil B. [email protected] wrote:
I have this bit of code in my email.controller
user = @current_user
story = @current_story
recipient = story.userIt doesn’t work because @current_story isn’t defined. How can I find the
current page to make this work?You haven’t given anywhere enough detail for us to help you.
@current_story - what are you expecting this variable to contain?
Saying
“the current page” won’t help. Do you mean the current URL
(@request.request_uri)? The current Page object (in which case you must
have found the Page object using some code, assign that to
@current_story.
A variable from the session? @current_story = session[:current_story].We need a lot more information to be able to help. @current_story is an
instance variable, but there’s no information on what you’re expecting
it to
magically contain.Cheers,
Andy
The email is to be sent from a page containing a story and comments. I
want it to go to @story.user’s email. If I use story=
Story.find_by_id(2) it works but I want an expression to find the
current story not one specified.
Does that tell you enough? Do you want more files sent?
Neil B. wrote:
The email is to be sent from a page containing a story and comments. I
want it to go to @story.user’s email. If I use story=
Story.find_by_id(2) it works but I want an expression to find the
current story not one specified.
Does that tell you enough? Do you want more files sent?
I assume you have a show page that contains the story and the comments.
How are you triggering the email from that form? A hyperlink I assume?
If that’s the case, just pass the current story id as a parameter on the
link_to, which makes that id available in the controller for your
Story.find(params[:id]) or something close to that.
Neil B. wrote:
The email is to be sent from a page containing a story and comments. I
want it to go to @story.user’s email. If I use story=
Story.find_by_id(2) it works but I want an expression to find the
current story not one specified.
Ar Chron wrote:
, just pass the current story id as a parameter on the
link_to, which makes that id available in the controller for your
Story.find(params[:id]) or something close to that.
I now have <%= link_to “Email this user”,
:controller => “email”, :action => “correspond”,
:id => @user.login, :story_id => @story.id %>
In the email_controller.rb I have
story = Story.find(params[:story_id])
Is that what you meant and why does it not work?
Colin L. wrote:
On 30 June 2010 19:00, Neil B. [email protected] wrote:
I now have <%= link_to “Email this user”,
:controller => “email”, :action => “correspond”,
:id => @user.login, :story_id �=> @story.id %>In the email_controller.rb I have
story = Story.find(params[:story_id])
Is that what you meant and why does it not work?
What is the value of params[:story_id]? Look in the log.
Colin
This is the same problem as I posted in the Can’t find without id
thread. You dont need to answer both
This is all I have in the log:
Processing EmailController#correspond (for 127.0.0.1 at 2010-06-30
19:32:58) [GET]
e[4;36;1mUser Load (0.5ms)e[0m e[0;1mSELECT * FROM “users” WHERE
(“users”.“id” = 1) LIMIT 1e[0m
ActiveRecord::RecordNotFound (Couldn’t find Story without an ID):
app/controllers/email_controller.rb:23:in `correspond’
Rendered rescues/_trace (57.5ms)
Rendered rescues/_request_and_response (0.4ms)
Rendering rescues/layout (not_found)
I’ll look at the debugging section
On 30 June 2010 19:00, Neil B. [email protected] wrote:
I now have <%= link_to “Email this user”,
:controller => “email”, :action => “correspond”,
:id => @user.login, :story_id => @story.id %>In the email_controller.rb I have
story = Story.find(params[:story_id])
Is that what you meant and why does it not work?
What is the value of params[:story_id]? Look in the log.
Colin
On 30 June 2010 20:40, Neil B. [email protected] wrote:
Is that what you meant and why does it not work?
What is the value of params[:story_id]? Â Look in the log.
Colin
This is the same problem as I posted in the Can’t find without id
thread. You dont need to answer both
You should not ask the same question twice. So what is the value of
@story.id? You could just display it on the page to find out if you
do not know. The page with the link_to “Email this user” … that is.
Colin
Colin L. wrote:
On 30 June 2010 20:40, Neil B. [email protected] wrote:
You should not ask the same question twice.
I wouldn’t have but the problem was so similar.
So what is the value of
@story.id? You could just display it on the page
It depends which story is shown, that’s my problem, it won’t pass as a
parameter or some reason.
On 30 June 2010 23:45, Neil B. [email protected] wrote:
@story.id? You could just display it on the page
It depends which story is shown, that’s my problem, it won’t pass as a
parameter or some reason.
Of course it depends which story is shown, it is the id of the
individual story. If the value is nil then no parameter will be
passed, if it is not nil then there should be a parameter. You can
also look at the html of the page (view page source in browser) to
check that the id is there in the href.
Add code to show the id on the page and check that it also appears in
the href.
Colin
Colin L. wrote:
On 30 June 2010 23:45, Neil B. [email protected] wrote:
@story.id? �You could just display it on the page
You can
also look at the html of the page (view page source in browser) to
check that the id is there in the href.Add code to show the id on the page and check that it also appears in
the href.Colin
This is from show.html.erb
<%= @story.id %>
<%= link_to “Email this user”,
:controller => “email”, :action => “correspond” , :id => “@story_id”
%>
This is view source
This is the error that results
Couldn’t find Story with ID=@story_id
Where am I going wrong
You should have been able to work it out from this, it is getting the
string @story_id instead of 2Colin
How can I make it take 2 without using @story.id to find it. If I move
to story 3 it has to send 3. How does it know to do so? Sorry I just
can’t get it.
On 1 July 2010 10:01, Neil B. [email protected] wrote:
You should have been able to work it out from this, it is getting the
string @story_id instead of 2Colin
How can I make it take 2 without using @story.id to find it. If I move
to story 3 it has to send 3. How does it know to do so? Sorry I just
can’t get it.
Read my previous email more carefully, and don’t snip so much that the
thread cannot be followed without continuously referring to previous
messages.
I suggested that in the link_to it should be
:id => @story_id
which provides the value (2 in the case you showed), not
:id => “@story_id”
which provides a string “@story_id”
I think you need to go through some basic ruby tutorials if that does
not make sense.
Colin
I suggested that in the link_to it should be
:id => @story_id
which provides the value (2 in the case you showed), not
:id => “@story_id”
which provides a string “@story_id”I think you need to go through some basic ruby tutorials if that does
not make sense.Colin
<%= link_to “Email this user”,
:controller => “email”, :action => “correspond” , :id => @story_id
%>
Gives exactly the same result
On 1 July 2010 09:41, Neil B. [email protected] wrote:
Colin
This is from show.html.erb
<%= @story.id %>
<%= link_to “Email this user”,
:controller => “email”, :action => “correspond” , :id => “@story_id”
That is passing the string “@story_id” as the id, you want the value,
so just :id => @story_id
 %>
This is view source
This is the error that results
Couldn’t find Story with ID=@story_id
You should have been able to work it out from this, it is getting the
string @story_id instead of 2
Colin
Neil B. wrote:
I suggested that in the link_to it should be
:id => @story_id
which provides the value (2 in the case you showed), not
:id => “@story_id”
which provides a string “@story_id”I think you need to go through some basic ruby tutorials if that does
not make sense.Colin
<%= link_to “Email this user”,
:controller => “email”, :action => “correspond” , :id => @story_id
%>
Gives exactly the same result
ok @story.id
Got it at last thanks
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs