【问题标题】:Rails 3 - Params questionRails 3 - 参数问题
【发布时间】:2011-08-23 18:18:01
【问题描述】:

我相信我的问题相当简单,但不知何故我没有取得任何成功。

假设我有一个模型test 和一个form_for (@test),要创建一个新模型。

在我的控制器创建方法中,我有@test = Test.new(params[:test])。但是如果我想在这个参数中只输入测试的名称或类似的东西怎么办?

例如:

 @test_name = params[???]

 @test = Test.new(params[:test])

在我看来:

<%= form_for(@test) do |t| %>
...
  <div class="field">
    <%= t.label :name %><br />
    <%= t.text_field :name %>
  </div>
  <div class="field">
    <%= t.label :field %><br />
    <%= t.text_area :field %>
  </div>
...
<% end %>

我该怎么做?

感谢您以后的帮助。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 params


    【解决方案1】:

    你可以直接访问它:

    @test_name = params[:test][:name]
    

    你也可以这样做:

    @test = Test.new(params[:test])
    @test_name = @test.name
    

    我很好奇您为什么要将名称分配给实例变量。

    【讨论】:

    • 谢谢!想不起来了。我正在使用新数据库进行测试,我想使用用户将通过的名称创建一个数据库。例如,在这个数据库上,我将添加全新的测试。
    【解决方案2】:

    你可以这样做:

    @test = Test.new
    @test.name = params[:test][:name]
    @test.foo = params[:test][:foo]
    # and so on...
    

    【讨论】:

      猜你喜欢
      • 2011-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 2011-09-12
      • 2011-09-13
      相关资源
      最近更新 更多