Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在rails中将数据从视图传递到控制器_Ruby On Rails_Ruby_Ruby On Rails 3_Ruby On Rails 3.2 - Fatal编程技术网

Ruby on rails 在rails中将数据从视图传递到控制器

Ruby on rails 在rails中将数据从视图传递到控制器,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.2,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.2,我有一个问题,在我的rails应用程序中,我有一个存储表单信息的控制器,在这个控制器中我写标题和项目id,因为这个表单创建了一个redmine票证 现在我想在另一个视图(管理员视图)中更改标题,当创建票据时,标题与管理员视图中的标题相同 我向您发送我的控制器和我想要的示例: class RedmineController < ApplicationController # Creating an issue def new @issue = Issue.new end def cr

我有一个问题,在我的rails应用程序中,我有一个存储表单信息的控制器,在这个控制器中我写标题和项目id,因为这个表单创建了一个redmine票证

现在我想在另一个视图(管理员视图)中更改标题,当创建票据时,标题与管理员视图中的标题相同

我向您发送我的控制器和我想要的示例:

class RedmineController < ApplicationController
# Creating an issue

def new
@issue = Issue.new


end

def create
  #stock le issue description.
  original_redmine = params[:issue] && params[:issue][:nom_redmine]
  original_admin = params[:issue] && params[:issue][:nom_admin]
  original_email = params[:issue] && params[:issue][:email]
  # le modifie
  #Titre du ticket
  @admin_title = params[:issue][:admin_title]
  params[:issue][:subject] = @admin_title
  #Project_id :
  params[:issue][:project_id] = "1"
  #Description :
  params[:issue][:description] = "

   Nom de l'instance Redmine : http://#{original_redmine}.projet.appli.i2

   Nom de l'admin : #{original_admin}

   Email : #{original_email}"

 @issue = Issue.new(params[:issue])


   if @issue.save
    flash[:succes] = "Ticket cree"
    redirect_to root_path
  else
    flash[:avertissement] = "Tout les champs sont obligatoires"
    redirect_to redmine_path
       end
  end





end


现在,我如何创建视图,用form.text\u字段设置admin\u标题。我需要在数据库中储存我的标题。在我的创作方法中使用他

我建议您可以将参数从视图传递到控制器

内部控制器

您可以访问该主题

@admin\u title=params[:issue][:admin\u title]

params[:issue][:subject]=@admin\u title


希望我能够理解您的问题

然后您可以创建一个类似钩子的方法,它将设置@admin\u title

before\u filter:set\u admin\u title,:only=>[:create,your\u other\u函数]

def set\u admin\u title

@admin\u title=params[:issue][:admin\u title]

end

现在您可以访问它了

def your_other_功能

put@admin\u title


结束

一点,但我希望我的管理员标题在其他视图中选择。所以我需要创建另一个视图,但如何命名呢?我需要在我的控制器中为这个视图定义否?我不明白:/,很抱歉,你能在你的帖子中写这个吗?请看下一篇帖子ThanksOk,所以我创建了我的视图,但是当我进去时,我有一个错误:对于nil:NilClass,未定义的方法“[]”,这是关于set\u admin\u标题的,那么我如何创建它呢?我不明白如何创建管理员标题
<div class="section-index">
  <h2 class="title-edit-new">Creation d'instance Redmine</h2>
   <%flash.each do |key,msg| %>
<%= content_tag(:div, content_tag(:p,msg), :class =>"message #{key}") %>
<% end %>
<%= form_for @issue, :url => redmine_path do |form| %>
  <fieldset class="fields">

     <div class="php_form">
      <%= form.label :nom_redmine, "Nom de l'instance redmine : ", :class => 'label-php-redmine' %>
      <div class="input-php">
    htpp://<%= form.text_field :nom_redmine %>.projet.appli.i2
    </div>
    </div>

       <div class="php_form">
      <%= form.label :nom_admin, "Nom de l'admin redmine : ", :class => 'label-php-admin'%>
      <div class="input-php">
            <%= form.text_field :nom_admin %>
          </div>
    </div>
    <div class="php_form">
      <%= form.label :email, "Email :", :class =>'label-php-email' %>
      <div class="input-php">
        <%= form.email_field :email %>
      </div>
      </div>
     <div class="php_form">
      <%= form.label :priority_id, 'Priorité : ', :class => 'label-php-priorite' %>
      <div class="input-php">
      <%= form.select :priority_id, options_for_select({ "Bas" => "1", "Normal" => "2", "Haut" => "3", "Urgent" => "4", "Immediat" => "5" }, "2") %>
      </div>
    </div>
  </fieldset>

  <fieldset class="actions">
    <%= form.submit "Envoyé", :class => 'btn btn-primary submit-input submit-php ' %>
  </fieldset>
<% end %>
</div>
before_filter :set_admin_title, :only => [:create,admin_function]
def set_admin_title
@admin_title = params[:issue][:admin_title]
end

def admin_function
puts @admin_title
end