在rails中获取params值会从控制器创建方法

时间:2014-04-28 05:59:26

标签: ruby ruby-on-rails-3.2

我的代码已发送s

    <% url = url_for(:controller => 'boxelements', :action => 'new', :project_id => @project.id, :author_id => User.current.id)  %>
    <%= link_to "Upload New File",url %>

从新方法我可以得到参数值

    def new
      @boxelement = Boxelement.new
      puts params[:project_id]
      puts params[:author_id]
    end

以下是我将此值作为表单输入

发送的方式
    <%= f.hidden_field :project_id, :value =>project_id %>
    <%= f.hidden_field :author_id, :value =>User.current.id %>

我需要从控制器的create方法访问这些值

    def create
      @boxelement = Boxelement.new(params[:boxelement])

      if @boxelement.save
        puts params[:project_id] 
        puts params[:author_id]
      end
    end

当它们在控制器的create方法中时,此代码不显示任何内容。

    puts params[:project_id]
    puts params[:author_id]

我的代码出了什么问题?

1 个答案:

答案 0 :(得分:3)

从这一行我可以假设你想要访问params of:boxelement

     @boxelement = Boxelement.new(params[:boxelement])

使用以下行来访问params值。

 puts params[:boxelement][:project_id] 
 puts params[:boxelement][:author_id]