Редактировать автора статьи - PullRequest
0 голосов
/ 30 января 2019

У меня есть сообщение, которое принадлежит пользователям, и при редактировании я хотел бы иметь возможность изменить пользователя, с которым связан этот пост.

Я начал, но я очень плохо знаком с Railsи немного застрял.

Я начал в моем post_controller.rb.

def update
    @post.user = associated_user
    if @post.update(post_params)
        flash[:notice] = "Post was successfully updated"
        redirect_to edit_post_path(@post)
    else
        render 'edit'
    end
end

Я определил метод related_user в моем application_controller.rb (я хочу сделать это для более чемпросто статьи.)

def associated_user
    @associated_user ||= User.find(session[:user_id]) if session[:user_id]
end

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

<%= f.text_field :associated_user, class: "form-control", placeholder: "Edit Author" %>

В идеале это поле формы было бы раскрывающимся списком всех пользователей с определенным статусом (логическое значение, которое я уже установил в таблице пользователей.)

Я не уверенкак далеко я нахожусь, но если кто-нибудь сможет предложить какое-то руководство, это будет с благодарностью!

1 Ответ

0 голосов
/ 30 января 2019

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

f.collection_select :user_id, User.whateverscope, :id, :text_method

, и когда форма будет отправлена, rails сделает все остальное.

Если вы настроили что-то другое, опубликуйте свои модели, методы strong_params и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...