LINUX.ORG.RU

ruby on rails. социальная секта


0

1

итак, дано:
учебное задание - написать социальную секту на ROR
раздолбай, осиливший прочесть http://guides.rubyonrails.org/getting_started.html и http://guides.rubyonrails.org/association_basics.html

структура того, что есть примерно такая:
есть модель User. это devise, он рулит пользователями
есть Profile. User has_one Profile, Profile belongs_to User

юзер только-только регистрируется, и, соответственно, поле profile у него пустое.
нужно сразу решительно перенаправить его на new_profile_path, чтобы там он создал профиль и запилить ассоциацию

то есть тут, как я понимаю, уместен будет before_filter. если тупо привести /app/controllers/application_controller.rb к следующему виду
http://rn0.ru/show/XhVy9jxInyLZwX4jvQ2O/
всё зацикливается, что вполне закономерно и вообще редирект тут не в тему.

в общем, как создать профиль?

Deleted

для Profile есть комментарии - стенка, в общем
то есть я просто всё взял отсюда http://guides.rubyonrails.org/getting_started.html

стенку нужно обновить по ajax - стенка вынесено в отдельный div.
есть такой /app/views/profiles:
http://rn0.ru/show/BK8KOW7GDDCt54Gq5sJL/ (javascript нужно вынести в отдельный файл, только я не совсем понимаю, как - всё, что делал по мануалам, не работает)
/apps/views/profiles/_wall.html.erb:
http://codepad.org/tzBuaUTd

/apps/view/comments/_form.html.erb:
http://codepad.org/LdJttknw

в контроллере @comments = @profile.comments.paginate(:page => params[:page]).order('created_at DESC')

самое крутое в том, что div-ка то обновляется, но комментарии в ней остаются старыми.
то есть по идее где-то нужно этот самый comments обновить, вот только где и как, я не знаю

Deleted
()
Ответ на: комментарий от kelyar

а, всё, всё просто, проснулся-разобрался
ссылка, кстати, не работает

просто чтобы ассоциировать профиль с пользователем, я делаю
if @profile.save
current_user.profile = @profile
current_user.profile_id = @profile.id
current_user.save

это нормально, или нужно как-то совсем по-другому?

Deleted
()
Ответ на: комментарий от kelyar

о, класс, спасибо!
только это не заработало, написал @profile = current_user.build_profile(params[:profile]), вроде ок

Deleted
()

Я думал, ты хочешь поговорить о том, что Ruby on Rails - социальная секта.

vasilenko ★★
()

мне каждый раз так смешно читать проблемы программистов альтернативных языков. Ребята, ну чего вам не хватает, блин. Какая уж тут нафиг скорость разработки, если все эти питоны/руби/пыхи болеют настолько детскими болезнями.

JFreeM ★★★☆
()
Ответ на: комментарий от JFreeM

а где в треде детские болезни руби?

все проблемы, кажется, от того, что я ничего не знаю и всё делаю неправильно.

Deleted
()
Ответ на: комментарий от Deleted

profile_id остаётся nil. с чего бы?

значит сейв не прошел, может у тебя валидация какая-то стоит.
смотри, что пишет в log/development.log

kelyar ★★★★★
()
Ответ на: комментарий от Deleted

То-то Diaspora на рельсах.

Кстати, автор, пример социальной секты на рельсах, и исходники по-моему на гитхабе были.

Hoodoo ★★★★★
()
Ответ на: комментарий от JFreeM

мне каждый раз так смешно читать проблемы программистов альтернативных языков.

Мне каждый раз смешно читать о том, то у меня оказывается есть проблемы )). А Вы, наверное, на PHP «программируете»?

Alve ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.