2013-07-30 3 views

ответ

0

Вы, вероятно, необходимо добавить это как скрытый атрибут в вашей форме, например, так:

<input type="hidden" name="ticket[project_id]" value="<%= @ticket.project_id %>" /> 

Тогда в контроллере вы можете сделать это:

params.require(:ticket).permit(:name,:project_id) 

Вот полезная ссылка: https://github.com/rails/strong_parameters

+0

прохладно благодаря плохо проверить его и пометить его, когда ив испытания :) – Francois

1

Вот что я сделал
я добавил еще одну функции для проекта PARAMS

def ticket_group_params 
     params.require(:ticket_group).permit(:name)  
    end 

    def project_params 
     params.permit(:project_id) 
    end 

Тогда я просто объединить результаты только для создания действия например.

# POST /ticket_group 
    # POST /ticket_group.json 
    def create 
    @ticket_group = TicketGroup.new(ticket_group_params.merge(project_params)) 
    respond_to do |format| 
1
def ticket_params 
name_params = params.require(:ticket).permit(:name) 
name_params.merge(params.permit(:project_id)) 
end 
# => {name: 'val', project_id: 'val'} 

или

def ticket_params 
    params.require(:ticket).permit(:name).tap do |_params| 
    _params[:project_id] = params.permit(:project_id) 
    end 
end 
# => {name: 'val', project_id: 'val'} 

или, может быть

def ticket_params 
    params.permit(:project_id, ticket: [:name]) 
end 
# => {project_id: 'val', ticket: {name: 'val'}} 
Смежные вопросы