Whenever I go to messages/new
I get an error saying NoMethodError
for the content
variable.
Hi @zleitzke,
Could you please post your code from app/controllers/messages_controller.rb
please?
Thanks
`class MessagesController < ApplicationController
def index
@messages = Message.all
end
def new
@message = Message.new
end
def create
@message = Message.new(message_params)
if @message.save
redirect_to '/messages'
else
render 'new'
end
end
private
def message_params
params.require(:message).permit(:content)
end
end`
@zleitzke That looks OK aside from indentation. Could you post app/views/messages/new.html.erb
, please?
Thanks
<div class="header">
<div class="container">
<img src="http://s3.amazonaws.com/codecademy-content/courses/learn-rails/img/logo-1m.svg">
<h1>Messenger</h1>
</div>
</div>
<div class="create">
<div class="container">
<!-- Your code here -->
<%= form_for(@message) do |f| %>
<div class="field">
<%= f.label :message %><br>
<%= f.text_area :content %>
</div>
<div class="actions">
<%= f.submit "Create" %>
</div>
<% end %>
</div>
</div>
@zleitzke Hm, I’m not quite sure what the problem is
Could I see your db/migrate
file for the Message model?
class CreateMessages < ActiveRecord::Migration
def change
create_table :messages do |t|
t.text :content
t.timestamps null: false
end
end
end
@zleitzke I’m not sure this will solve the problem, but mine looks different:
class CreateMessages < ActiveRecord::Migration
def change
create_table :messages do |t|
t.text :content
t.timestamps
end
end
end
Could you try removing the null: false
line?
Also, is this on Create Messages I or Create Messages II?
Still does not work.
This topic is inactive.