Je suis nouveau sur ruby on rails. Je suis à l'origine un programmeur PHP/mysql. Je n'arrive pas à comprendre comment vous connectez les messages à l'utilisateur et les affiche (par exemple, un message est créé avec l'ID utilisateur, puis l'ID utilisateur est interrogé pour obtenir son nom.)Ruby on Rails Devise user
J'utilise concevoir pour l'authentification.
Contrôleur
def create
poll = current_user.polls.build(params[:poll])
poll.onefourty = poll.onefourty[0..140]
poll.created_at = Time.now
poll.save!
if @poll.save
redirect_to root_path
else
redirect_to root_path
end
end
Formulaire
<%= form_for Poll.new, :html => { :multipart => true } do |f| %>
<div id="form">
<div class="text_input" style="height: 65px;"><%= f.text_area :onefourty %><div class="label" style="height: 63px; line-height: 63px;">Question</div></div>
<div class="text_input"><%= f.text_field :option1 %><div class="label">Option One</div></div>
<div class="text_input"><%= f.text_field :option2 %><div class="label">Option Two</div></div>
<div class="text_input"><%= f.text_field :option3 %><div class="label">Option Three</div></div>
<div class="text_input"><%= f.text_field :option4 %><div class="label">Option Four</div></div>
<div id="submit">
<div id="left">
</div>
<%= f.submit :id => "next", :value => "" %>
</div>
</div>
<% end %>
Migration:
create_table "polls", :force => true do |t|
t.text "onefourty"
t.string "option1"
t.string "option2"
t.string "option3"
t.string "option4"
t.string "option5"
t.string "option6"
t.datetime "created_at"
t.datetime "updated_at"
t.string "photo1_file_name"
t.string "photo1_content_type"
t.integer "photo1_file_size"
t.datetime "photo1_updated_at"
t.string "photo2_file_name"
t.string "photo2_content_type"
t.integer "photo2_file_size"
t.datetime "photo2_updated_at"
t.string "photo3_file_name"
t.string "photo3_content_type"
t.integer "photo3_file_size"
t.datetime "photo3_updated_at"
t.string "photo4_file_name"
t.string "photo4_content_type"
t.integer "photo4_file_size"
t.datetime "photo4_updated_at"
end
create_table "users", :force => true do |t|
t.string "email", :default => "", :null => false
t.string "encrypted_password", :limit => 128, :default => "", :null => false
t.string "password_salt", :default => "", :null => false
t.string "confirmation_token"
t.datetime "confirmed_at"
t.datetime "confirmation_sent_at"
t.string "reset_password_token"
t.string "remember_token"
t.datetime "remember_created_at"
t.integer "sign_in_count", :default => 0
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.datetime "created_at"
t.datetime "updated_at"
t.string "username"
t.string "firstname"
t.string "lastname"
t.string "avatar_file_name"
t.string "avatar_content_type"
t.integer "avatar_file_size"
t.datetime "avatar_updated_at"
end
qui ne fonctionne pas. Il prétend que j'ai un objet nul. – morcutt
En principe, si 'current_user' est nul, alors vous n'êtes pas connecté. J'ai mis à jour le code de la vue ci-dessus pour refléter cela. – theTRON
l'a fonctionné mais ne peut toujours pas comprendre comment interroger l'information d'utilisateurs quand j'affiche l'information. Merci pour votre aide! – morcutt