Я хотел бы получить доступ к таблице «профили» из моей модели профиля, которая принадлежит_пользователю: «Модель пользователя».
Во-первых, в моем действии show users_controller я хотел бы получить данные из таблицы профилей.для того, чтобы показать на странице профиля пользователя.
Во-вторых, я бы хотел, чтобы пользователи могли редактировать эти вещи с помощью формы.Я знаю, что это делается в действии обновления?в то время как действие редактирования позволяет отображать форму на странице просмотра редактирования.
Вот мой контроллер:
class UsersController < ApplicationController
def new
@user = User.new
@title = "Practice"
end
def create
@user = User.new(params[:user])
respond_to do |format|
if @user.save
@user.build_profile.save #same as Profile.new(:user_id => @user.id)
login @user
UserMailer.join_confirmation(@user).deliver
format.js { render :js => "window.location = '#{root_path}'" }
flash[:notice] = "Welcome!"
else
format.js { render :form_errors }
end
end
end
def show
end
def update
end
def edit
end
end
1) Как мне получить доступ к моей таблице профилей?Пользователь has_one: профиль Профиль принадлежит: пользователю:
Буду признателен за консультацию.Мне потребовалось полдня, чтобы выяснить, как создать в таблице профилей строку, соответствующую вновь созданному пользователю при регистрации, и теперь следующим шагом будет возможность получить данные из модели в моем users_controller.я знаю, что мог бы просто создать profile_controller и делать что-то там, но я не хочу пытаться делать это прямо сейчас, поскольку я уверен, что есть способ сделать это через users_controller.
Заранее спасибо за совет, данный.
Представление:
<%= @profile_data.first_name %>
<h4><%= current_user.username.capitalize %></h4>
<%= gravatar_image_tag(current_user.email, :alt => @title, :class => "gravatar", :gravatar => { :size => 150 }) %>
<br />
Попытка получить имя_символа из таблицы профилей через users_controller
def show
@user = User.find_by_username(params[:username])
@profile_data = @user.profile
end
маршрут:
match ':username' => "users#show"
Я ожидаюсм. имя, хранящееся в столбце first_name таблицы профилей, когда я захожу на localhost: 3000 / username
в нем не отображается имя пользователя.