rails3 не добавляет второй идентификатор в мою таблицу - PullRequest
0 голосов
/ 16 июня 2011

проблема у меня в том, что company_id не был сохранен в таблицу сведений. Я знаю, что company_id там есть. Я проверяю его, используя <% = debug (params [: id])%> в форме, прежде чем добавлять все данные о компанииинформация, но по какой-то причине сохраняет все остальное, кроме company_id


##user.rb
has_one :company

##company.rb
belongs_to :user
has_one :detail

##detail.rb
belongs_to :user

##details controller
 def new
    @detail = Detail.new
    user_id = session[:user_id]
    company_id = params[:id]

  end

  def create     
    @detail = Detail.new(params[:detail])
    @detail.user_id = session[:user_id]
    @detail.company_id = params[:id]
  end

###settings.html.erb
### this is where i make sure that company_id gets pass with the url

  link_to 'New Detail', {:controller => 'details', :action =>'new', :id => company.id }, :class => 'plus'

#####routes
    resources :details
    resources :companies
    resources :users
    resources :sessions

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

Ответы [ 2 ]

0 голосов
/ 08 июля 2011

Я не осознавал этого позже, но мне нужно, чтобы он передавал значения из представления в представление from, например,

  <% @companies.each do |company| %>
      <%= link_to 'New Detail', {:controller =>'details', :action => 'new', :company_id => company.id},  :class => 'plus' %>
    <% end %>

, и мне нужно это для сбора этого значения из ...вот так

<%= form_for(:detail, :url =>{:action => 'create', :company_id => @company.id}) do |f| %>
...(values)
<% end %>
0 голосов
/ 17 июня 2011

Я сразу что-то замечаю.Возможно, вам придется сначала исправить ваши ассоциации.Предполагается, что у пользователя есть одна компания, а у компании - одна деталь.

##user.rb
has_one :company

##company.rb
belongs_to :user
has_one :detail

##detail.rb
belongs_to :user

Должно быть:

##user.rb
has_one :company

##company.rb
belongs_to :user
has_one :detail

##detail.rb
belongs_to :company

Хотя, в зависимости от требований вашего домена.Я бы обычно так: Пользователь has_many Companies.И так как детали с компанией 1: 1, я бы включил все детали внутри компании.

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