Delete button giving me NameError in Rails+React app
I'm having a hard time getting the delete button to work on my Twitter-ish app. I get 500 (Internal Server Error)
on Chrome console and NameError (undefined local variable or method `tweet' for #<TweetsController:0x00007f91275b7448>):
on my terminal when I hit a delete button.
That console.log
in onSubmitDelete(id)
is giving me the right selected tweet ID, therefore, my destroy action should be able to define which tweet I want to delete, shouldn't it? I don't know why my controller is giving me such an error. what can I do to fix it?
TweetsPage.js
import React from 'react'
import Tweets from './Tweets'
class TweetsPage extends React.Component {
constructor() {
super();
this.state = {
tweets: ,
id: '',
};
this.onSubmitDelete = this.onSubmitDelete.bind(this);
}
loadTweetsFromServer() {
const url = '/tweets/index.json';
$.ajax({
url: url,
dataType: 'json',
type: 'GET',
cache: false,
success: (data) => {
this.setState({
tweets: data
});
},
error: (xhr, status, err) => {
console.error(url, status, err.toString());
},
});
}
onSubmitDelete(id) {
const url = '/tweets/destroy';
console.log(id)
$.ajax({
url: url,
type: 'DELETE',
cache: false,
data: {
id: id
},
success: (data) => {
this.loadTweetsFromServer();
},
error: (xhr, status, err) => {
console.error(url, status, err.toString());
},
});
}
componentDidMount() {
this.loadTweetsFromServer();
}
render() {
return (
<div>
<Tweets tweets={this.state.tweets} onDelete={this.onSubmitDelete} />
</div>
);
}
}
export default TweetsPage;
tweets_controller.rb
def destroy
tweet = Tweet.find(params[:id])
tweet.destroy
end
config/routes.rb
delete 'tweets/destroy' => 'tweets#destroy'
Please let me know if you need to see my child components.
reactjs ruby-on-rails-5
add a comment |
I'm having a hard time getting the delete button to work on my Twitter-ish app. I get 500 (Internal Server Error)
on Chrome console and NameError (undefined local variable or method `tweet' for #<TweetsController:0x00007f91275b7448>):
on my terminal when I hit a delete button.
That console.log
in onSubmitDelete(id)
is giving me the right selected tweet ID, therefore, my destroy action should be able to define which tweet I want to delete, shouldn't it? I don't know why my controller is giving me such an error. what can I do to fix it?
TweetsPage.js
import React from 'react'
import Tweets from './Tweets'
class TweetsPage extends React.Component {
constructor() {
super();
this.state = {
tweets: ,
id: '',
};
this.onSubmitDelete = this.onSubmitDelete.bind(this);
}
loadTweetsFromServer() {
const url = '/tweets/index.json';
$.ajax({
url: url,
dataType: 'json',
type: 'GET',
cache: false,
success: (data) => {
this.setState({
tweets: data
});
},
error: (xhr, status, err) => {
console.error(url, status, err.toString());
},
});
}
onSubmitDelete(id) {
const url = '/tweets/destroy';
console.log(id)
$.ajax({
url: url,
type: 'DELETE',
cache: false,
data: {
id: id
},
success: (data) => {
this.loadTweetsFromServer();
},
error: (xhr, status, err) => {
console.error(url, status, err.toString());
},
});
}
componentDidMount() {
this.loadTweetsFromServer();
}
render() {
return (
<div>
<Tweets tweets={this.state.tweets} onDelete={this.onSubmitDelete} />
</div>
);
}
}
export default TweetsPage;
tweets_controller.rb
def destroy
tweet = Tweet.find(params[:id])
tweet.destroy
end
config/routes.rb
delete 'tweets/destroy' => 'tweets#destroy'
Please let me know if you need to see my child components.
reactjs ruby-on-rails-5
I'm pretty sure in your 'destroy', it should beTweet.find(params[:id])
without theid:
. At least, the version of rails I use is like that. That might be causing an error.
– David
Nov 22 '18 at 1:07
You are right, I was mixed up withfind
&find_by
and I just fixed it. However, it's still giving me the same error for some reason...
– ta539tg70
Nov 22 '18 at 1:17
add a comment |
I'm having a hard time getting the delete button to work on my Twitter-ish app. I get 500 (Internal Server Error)
on Chrome console and NameError (undefined local variable or method `tweet' for #<TweetsController:0x00007f91275b7448>):
on my terminal when I hit a delete button.
That console.log
in onSubmitDelete(id)
is giving me the right selected tweet ID, therefore, my destroy action should be able to define which tweet I want to delete, shouldn't it? I don't know why my controller is giving me such an error. what can I do to fix it?
TweetsPage.js
import React from 'react'
import Tweets from './Tweets'
class TweetsPage extends React.Component {
constructor() {
super();
this.state = {
tweets: ,
id: '',
};
this.onSubmitDelete = this.onSubmitDelete.bind(this);
}
loadTweetsFromServer() {
const url = '/tweets/index.json';
$.ajax({
url: url,
dataType: 'json',
type: 'GET',
cache: false,
success: (data) => {
this.setState({
tweets: data
});
},
error: (xhr, status, err) => {
console.error(url, status, err.toString());
},
});
}
onSubmitDelete(id) {
const url = '/tweets/destroy';
console.log(id)
$.ajax({
url: url,
type: 'DELETE',
cache: false,
data: {
id: id
},
success: (data) => {
this.loadTweetsFromServer();
},
error: (xhr, status, err) => {
console.error(url, status, err.toString());
},
});
}
componentDidMount() {
this.loadTweetsFromServer();
}
render() {
return (
<div>
<Tweets tweets={this.state.tweets} onDelete={this.onSubmitDelete} />
</div>
);
}
}
export default TweetsPage;
tweets_controller.rb
def destroy
tweet = Tweet.find(params[:id])
tweet.destroy
end
config/routes.rb
delete 'tweets/destroy' => 'tweets#destroy'
Please let me know if you need to see my child components.
reactjs ruby-on-rails-5
I'm having a hard time getting the delete button to work on my Twitter-ish app. I get 500 (Internal Server Error)
on Chrome console and NameError (undefined local variable or method `tweet' for #<TweetsController:0x00007f91275b7448>):
on my terminal when I hit a delete button.
That console.log
in onSubmitDelete(id)
is giving me the right selected tweet ID, therefore, my destroy action should be able to define which tweet I want to delete, shouldn't it? I don't know why my controller is giving me such an error. what can I do to fix it?
TweetsPage.js
import React from 'react'
import Tweets from './Tweets'
class TweetsPage extends React.Component {
constructor() {
super();
this.state = {
tweets: ,
id: '',
};
this.onSubmitDelete = this.onSubmitDelete.bind(this);
}
loadTweetsFromServer() {
const url = '/tweets/index.json';
$.ajax({
url: url,
dataType: 'json',
type: 'GET',
cache: false,
success: (data) => {
this.setState({
tweets: data
});
},
error: (xhr, status, err) => {
console.error(url, status, err.toString());
},
});
}
onSubmitDelete(id) {
const url = '/tweets/destroy';
console.log(id)
$.ajax({
url: url,
type: 'DELETE',
cache: false,
data: {
id: id
},
success: (data) => {
this.loadTweetsFromServer();
},
error: (xhr, status, err) => {
console.error(url, status, err.toString());
},
});
}
componentDidMount() {
this.loadTweetsFromServer();
}
render() {
return (
<div>
<Tweets tweets={this.state.tweets} onDelete={this.onSubmitDelete} />
</div>
);
}
}
export default TweetsPage;
tweets_controller.rb
def destroy
tweet = Tweet.find(params[:id])
tweet.destroy
end
config/routes.rb
delete 'tweets/destroy' => 'tweets#destroy'
Please let me know if you need to see my child components.
reactjs ruby-on-rails-5
reactjs ruby-on-rails-5
edited Nov 22 '18 at 1:15
ta539tg70
asked Nov 22 '18 at 0:59
ta539tg70ta539tg70
398
398
I'm pretty sure in your 'destroy', it should beTweet.find(params[:id])
without theid:
. At least, the version of rails I use is like that. That might be causing an error.
– David
Nov 22 '18 at 1:07
You are right, I was mixed up withfind
&find_by
and I just fixed it. However, it's still giving me the same error for some reason...
– ta539tg70
Nov 22 '18 at 1:17
add a comment |
I'm pretty sure in your 'destroy', it should beTweet.find(params[:id])
without theid:
. At least, the version of rails I use is like that. That might be causing an error.
– David
Nov 22 '18 at 1:07
You are right, I was mixed up withfind
&find_by
and I just fixed it. However, it's still giving me the same error for some reason...
– ta539tg70
Nov 22 '18 at 1:17
I'm pretty sure in your 'destroy', it should be
Tweet.find(params[:id])
without the id:
. At least, the version of rails I use is like that. That might be causing an error.– David
Nov 22 '18 at 1:07
I'm pretty sure in your 'destroy', it should be
Tweet.find(params[:id])
without the id:
. At least, the version of rails I use is like that. That might be causing an error.– David
Nov 22 '18 at 1:07
You are right, I was mixed up with
find
& find_by
and I just fixed it. However, it's still giving me the same error for some reason...– ta539tg70
Nov 22 '18 at 1:17
You are right, I was mixed up with
find
& find_by
and I just fixed it. However, it's still giving me the same error for some reason...– ta539tg70
Nov 22 '18 at 1:17
add a comment |
1 Answer
1
active
oldest
votes
I didn't mention but I was using Docker for Mac, so I restarted my container and it worked fine with no code changes. Silly.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53422510%2fdelete-button-giving-me-nameerror-in-railsreact-app%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I didn't mention but I was using Docker for Mac, so I restarted my container and it worked fine with no code changes. Silly.
add a comment |
I didn't mention but I was using Docker for Mac, so I restarted my container and it worked fine with no code changes. Silly.
add a comment |
I didn't mention but I was using Docker for Mac, so I restarted my container and it worked fine with no code changes. Silly.
I didn't mention but I was using Docker for Mac, so I restarted my container and it worked fine with no code changes. Silly.
answered Nov 22 '18 at 12:02
ta539tg70ta539tg70
398
398
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53422510%2fdelete-button-giving-me-nameerror-in-railsreact-app%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I'm pretty sure in your 'destroy', it should be
Tweet.find(params[:id])
without theid:
. At least, the version of rails I use is like that. That might be causing an error.– David
Nov 22 '18 at 1:07
You are right, I was mixed up with
find
&find_by
and I just fixed it. However, it's still giving me the same error for some reason...– ta539tg70
Nov 22 '18 at 1:17