2010-08-28 5 views
0

Я новичок в рубине на рельсах. Я изначально программист PHP/mysql. Я не могу понять, как вы подключаете какие-либо сообщения к пользователю и отображаете их (например, сообщение успешно создается с идентификатором пользователя, а затем запрашивается идентификатор пользователя, чтобы получить его или ее имя.)Ruby on Rails Разработчик пользователя

Я использую разработать для аутентификации.

Контроллер

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 

Форма

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

Миграции:

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 

ответ

1

Предполагая, что вы имеете следующую структуру:

# app/model/user.rb 
class User < ActiveRecord::Base 
    has_many :polls 
    #... 
end 

# app/model/poll.rb 
class Poll < ActiveRecord::Base 
    belongs_to :user 
    #... 
end 

И если вы успешно создавать опросы, которые в этом случае вы, вероятно, есть, то в любом виде - вы можете запрашивать и отображать опросы текущего пользователя с:

# app/views/polls/index.html.erb 

<%- if current_user -%> 
    <%- current_user.polls.each do |poll| -%> 
    <h2><%= poll.onefourty %></h2> 
    <ul> 
     <li><%= poll.option1 %></li> 
     <li><%= poll.option2 %></li> 
     <li><%= poll.option3 %></li> 
     <li><%= poll.option4 %></li> 
     <li><%= poll.option5 %></li> 
     <li><%= poll.option6 %></li> 
    </ul> 
    <%- end -%> 
<%- else -%> 
    <em>Not logged in</em> 
<%- end -%> 
+0

Это не работает. Он утверждает, что у меня есть нулевой объект. – morcutt

+0

В разработке, если 'current_user' равен нулю, то вы не вошли в систему. Я обновил код представления выше, чтобы отразить это. – theTRON

+0

заработал, но до сих пор не может понять, как запрашивать информацию о пользователях при отображении информации. Спасибо за вашу помощь! – morcutt

Смежные вопросы