Форма выпадающего выберите отношения - PullRequest
0 голосов
/ 15 января 2011

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

<%= form_for(@msg) do |f| %>
  <%= render 'errors', :object => f.object %>
    <ul class="fields">
      <li> 
        <%= select("msg", "company_id", Company.all.collect {|p| [ p.title, p.id ] }) %>
      </li>
    </ul>
    <ul class="fields">
      <li><%= f.label :content, "Send this company your message" %></li>
      <li><%= f.text_area :content %></li>
    </ul>
    <div id="actions">
      <%= f.submit "Send" %>
    </div>
<% end %>

каждый раз, когда эта форма сохраняется, company_id имеет значение null.Мой код для сохраняемого контроллера:

def create
  @msg = current_user.messages.build(params[:msg])
  if @msg.save
    flash[:success] = "New message saved"
    redirect_to current_user
  else
    render current_user
  end
end

Ничто не выделяет меня, почему это не экономит, кто-то может направить меня в правильном направлении?

Джефф

1 Ответ

0 голосов
/ 15 января 2011

В вашем контроллере вам не нужно найти текущую компанию? Что-то вроде

@company = Company.find(params[:company_id])
@message = @Company.messages.create(params[:msg]) 

будет работать. Что касается смешивания has_many как с пользователями, так и с компаниями, то эта тема на SO кажется хорошей. Модель Rails has_many с несколькими посторонними ключами

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