Delete button giving me NameError in Rails+React app












0















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.










share|improve this question

























  • 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


















0















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.










share|improve this question

























  • 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
















0












0








0








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.










share|improve this question
















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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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





















  • 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



















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














1 Answer
1






active

oldest

votes


















0














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.






share|improve this answer























    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
    });


    }
    });














    draft saved

    draft discarded


















    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









    0














    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.






    share|improve this answer




























      0














      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.






      share|improve this answer


























        0












        0








        0







        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.






        share|improve this answer













        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.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 22 '18 at 12:02









        ta539tg70ta539tg70

        398




        398
































            draft saved

            draft discarded




















































            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.




            draft saved


            draft discarded














            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





















































            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







            Popular posts from this blog

            Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

            Does disintegrating a polymorphed enemy still kill it after the 2018 errata?

            A Topological Invariant for $pi_3(U(n))$